1
Я пытаюсь реализовать интерфейс флажка, который позволяет пользователю показывать/скрывать столбцы в JTable, но когда я удаляю столбец, столбец, кажется, перемещает позицию, и нет способ узнать 100%, где находятся столбцы. Таблица построена с этим кодом:Предотвращение перемещения столбцов при удалении в JTable
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
String[] columnNames = {"Artist","Track","Album","Genre","Year","Filetype"};
for (String column : columnNames) {
model.addColumn(column);
}
table.createDefaultColumnsFromModel();
table.getTableHeader().setReorderingAllowed(false);
Вот код, у меня есть для реализации флажок слушателей:
if (e.getSource() == artist) {
if (!artist.isSelected()) {
table.removeColumn(table.getColumnModel().getColumn(0));
} else {
table.addColumn(table.getColumnModel().getColumn(0));
}
}
if (e.getSource() == trackName) {
if (!trackName.isSelected()) {
table.removeColumn(table.getColumnModel().getColumn(1));
} else {
table.addColumn(table.getColumnModel().getColumn(1));
}
}
/* etc */
@admrply с индексом конвертирования столбцов из представления в модель (у меня есть для реализации checkbox слушателей) – mKorbel