Hallo Leute,
ich habe mir eine JTable gebaut, und ihr ein DefaultTableModel zugeordnet. Das anzeigen und einfügen von Daten ist auch überhaupt kein Problem. Nun möchte ich allerdings der Tabelle eine neue Spalte geben...
Das Erstellen und erste Einfügen von Spalten, wenn die Tabelle noch leer ist, funktioniert wie folgt.
Will ich nun (auch wenn die Tabelle noch leer ist) noch eine weitere Spalte einfügen, wirft mir Java eine ArrayIndexOutOfBounceException. Obwohl ich es genauso mache, wie vorher....
folgende Exceptions werden geworfen:
Hat jemand eine Ahnung was daran falsch sein soll?
Gruß Ingo
ich habe mir eine JTable gebaut, und ihr ein DefaultTableModel zugeordnet. Das anzeigen und einfügen von Daten ist auch überhaupt kein Problem. Nun möchte ich allerdings der Tabelle eine neue Spalte geben...
Das Erstellen und erste Einfügen von Spalten, wenn die Tabelle noch leer ist, funktioniert wie folgt.
Code:
dtm = new DefaultTableModel();
tablePlan.setModel(dtm);
dtm.addColumn("x");
dtm.addColumn("y");
dtm.addColumn("Dorfname");
dtm.addColumn("speed");
dtm.addColumn("distance");
Will ich nun (auch wenn die Tabelle noch leer ist) noch eine weitere Spalte einfügen, wirft mir Java eine ArrayIndexOutOfBounceException. Obwohl ich es genauso mache, wie vorher....
Code:
dtm.addColumn("Ziel1");
folgende Exceptions werden geworfen:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementAt(Vector.java:435)
at javax.swing.table.DefaultTableModel.getColumnName(DefaultTableModel.java:592)
at staemmeattack.StaemmeattackView$1.tableChanged(StaemmeattackView.java:60)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableStructureChanged(AbstractTableModel.java:200)
at javax.swing.table.DefaultTableModel.addColumn(DefaultTableModel.java:540)
at javax.swing.table.DefaultTableModel.addColumn(DefaultTableModel.java:506)
at staemmeattack.StaemmeattackView.buttonReadTargetActionPerformed(StaemmeattackView.java:358)
at staemmeattack.StaemmeattackView.access$900(StaemmeattackView.java:35)
at staemmeattack.StaemmeattackView$5.actionPerformed(StaemmeattackView.java:190)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5602)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5367)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4068)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
at java.awt.Container.dispatchEventImpl(Container.java:2054)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Hat jemand eine Ahnung was daran falsch sein soll?
Gruß Ingo