Я не знаю, почему имена столбцов называются «A», «B», «C» ... после обновления JTable.изменить имена столбцов после обновления JTable java
Я создал класс для обновления JTable.
public class TableModelClass extends AbstractTableModel
{
Object[][] data;
Object[] title;
public TableModelClass(Object[][] dat, Object[] tit)
{
data = dat;
title = tit;
}
@Override
public int getColumnCount()
{
if(title != null)
return title.length;
return 0;
}
@Override
public int getRowCount()
{
if(data != null)
return data.length;
return 0;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex)
{
return data[rowIndex][columnIndex];
}
}
Я установил JTable: значения по умолчанию в моем классе:
Object[] titlesDefault = { "tit1", "tit12","tit3"};
Object[][] dataDefault = {{ "1", "2","3"},
{"1", "2","3"}};
_jTable = new JTable(dataDefault, titlesDefault);
_bAddTable.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
try
{
Object[] titles2 = { "1", "2","3", "1", "2","3"};
Object[][] data = {{ "1", "2","3"},
{ "1", "2","3"},
{"1", "2","3"}};
data.setModel(new TableModelClass(data, titles2));
}
catch (ClassNotFoundException)
{
e1.printStackTrace();
}
};
});
И после этого я получаю письмо в именах столбцов. Зачем?
1) выполняет ли этот код? Ваша переменная Object [] [] не является 2-D массивом, а представляет собой 1-мерный массив String. 2) Никогда не используйте MouseListener в JButton, когда вызывается ActionListener. –
компилируется, так что я должен использовать? – szefu
1) Ваш двухмерный массив должен содержать 2-мерный массив. 2) Снова JButtons должен использовать ActionListeners. Учебник объяснит все. Я не JTable pro, но вам может понадобиться использовать модель столбца. –