У меня есть пустой JTable, абсолютно ничего в нем. Мне нужно динамически генерировать столбцы таблицы определенным образом. Упрощенная версия для кода у меня есть для моей попытки:Динамическое добавление столбцов в JTable
@Action
public void AddCol() {
for (int i = 0; i < 10; i++) {
TableColumn c = new TableColumn(i);
c.setHeaderValue(getColNam(i));
table.getColumnModel().addColumn(c);
}
}
Но я получаю
Исключение в потоке "АВТ-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0> = 0
Что я делаю неправильно?
Вот полный StackTrace, если это поможет:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Vector.java:427)
at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:632)
at engine.Processor$UpdateTable.run(Processor.java:131)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
getColName просто насмешка метод, чтобы показать, что я делаю в задаче code..The с конструктором не является пар, если я создаю столбец без индекса модели, таблица создается считает, что имеет только один столбец, поэтому, когда я заполняю строку с помощью setValueAt, она заполняет всю строку значением во всех столбцах. – jonasespelita