JTable myTable;
JScrollPane myTableScroll;
......
//где-то в конструкторе ну или где ты будеш вставлять таблицу
myTableScroll = new JScrollPane();
......
//эту функцию вызываеш кода нцжно переиницилизировать таблицу
void updateTable() {
Vector rowData = new Vector();
/*здесь заполняеш таблицу данными, rowData -вектор векторов, каждый
внутрений вектор это одна строка таблицы. т.е. в примере 10 строк
определено */
for(int i=0;i<10;i++)
{
Vector newRow = new Vector();
newRow.add("Значеие");
newRow.add(new Integer(0));
newRow.add(new Double(0.0));
newRow.add("Value");
rowData.add(newRow);
}
//Вектор содержащий названия столбцов
Vector colNames = new Vector();
colNames.add("Первый столбец");colNames.add("Второй столбец");
colNames.add("Третий Столбец");colNames.add("Четвертый столбец");
// Создаем таблицу
myTable = new JTable(rowData,colNames);
//вставляем ее в ScrollPane
myTableScroll.setViewPortView(myTable);
}
Создание таблицы
Проблема следующая: необходимо создать таблицу, в которой будет 4 столбца, в каждом столбце данные определенного типа (в разных столбцах - разные), количество строк может изменяться.
Подскажите, как это удобнее реализовать?
А в чем проблема? Что нужно, класс таблицы? JTable() ? Или интересует как нужно добавлять строки? Только пересозданием таблицы. А на типы данных можеш забить. Какой добавиш, такой там и будет.
Спасибо, но я говорила о внутреннем представлении, а не о способах использования JTable. Мне нужно хранить внутренние данные в виде таблицы (внутри программы) или чего-то, что ее заменит без потери общности этих данных. Можно, конечно, взять ArrayList и в нем хранить еще несколько ArrayList'ов, но это лобовое и кривое решение...
TableModel - этот интерфейс представляет модель таблицы и его подспудно использует JTable, а как с ним работать см пример Lone Wolf'a.
Цитата: ЛяЛьк@
Спасибо, но я говорила о внутреннем представлении, а не о способах использования JTable. Мне нужно хранить внутренние данные в виде таблицы (внутри программы) или чего-то, что ее заменит без потери общности этих данных. Можно, конечно, взять ArrayList и в нем хранить еще несколько ArrayList'ов, но это лобовое и кривое решение...
Вектор векторов(Vector). или самые тривиальны массивы(Double[][])
Цитата: Lone Wolf
Или интересует как нужно добавлять строки? Только пересозданием таблицы.
не несите бред :)
Почему бред? Лично я не нашел возможности добавлять строки без пересоздания тадблицы. если знаете как, то поделитесь