Hallo
Ich habe ein JTable, welche Daten aus einer DB holt. Fuktioniert auch fast alles. Ich klicke auf einen Button und dann werden die Daten geholt. Wenn ich jetzt nochmals den Button drücke, werden nochmals die Daten geholt aber unten angehängt. Ich möchte, dass es zuerst die JTabel löscht und dann wieder einfügt.
Habe dies folgendermassen versucht:
Ich habe im Moment 5 Datensätze gespeichert. Wenn ich den obigen Code ausführe kommt folgende Meldung:
0
1
2
3
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3 >= 2
at java.util.Vector.removeElementAt(Vector.java:511)
at javax.swing.table.DefaultTableModel.removeRow(DefaultTableModel.java:446)
at GUI.Robotersteuerung.jButton1ActionPerformed(Robotersteuerung.java:539)
at GUI.Robotersteuerung.access$100(Robotersteuerung.java:24)
at GUI.Robotersteuerung$3.actionPerformed(Robotersteuerung.java:241)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Kann mir jemand sagen, was ich falsch mache?
Gruss und danke
Ich habe ein JTable, welche Daten aus einer DB holt. Fuktioniert auch fast alles. Ich klicke auf einen Button und dann werden die Daten geholt. Wenn ich jetzt nochmals den Button drücke, werden nochmals die Daten geholt aber unten angehängt. Ich möchte, dass es zuerst die JTabel löscht und dann wieder einfügt.
Habe dies folgendermassen versucht:
Code:
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
int rows = model.getRowCount();
for(int i = 0; i < rows; i++)
{
System.out.println(i);
model.removeRow(i);
}
0
1
2
3
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3 >= 2
at java.util.Vector.removeElementAt(Vector.java:511)
at javax.swing.table.DefaultTableModel.removeRow(DefaultTableModel.java:446)
at GUI.Robotersteuerung.jButton1ActionPerformed(Robotersteuerung.java:539)
at GUI.Robotersteuerung.access$100(Robotersteuerung.java:24)
at GUI.Robotersteuerung$3.actionPerformed(Robotersteuerung.java:241)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Kann mir jemand sagen, was ich falsch mache?
Gruss und danke