Hi,
ich möchte eine ganz billige Sache tun. Undzwar erzeuge ich ein JTable mit einem DefaultTableModel und einem DefaultTableColumnModel. Ich erzeuge 3 TableColumns. Bisher alles Ok ! Ich kann mein Jtable sehen mit den 3 Spalten
sobald ich mit tableModel.addRow(data) ein Eintrag hinzufügen möchte bekomme ich ein Fehler. Ich kann mir diesen blöden Fehler nicht erklären.
Hier der Code vielleicht kann mir jemand helfen ?
package bizztalk;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
public class RequestState extends JFrame
{
private JTable jTable1;
private DefaultTableModel tableModel = new DefaultTableModel();
DefaultTableColumnModel columnModel = new DefaultTableColumnModel();
public RequestState()
{
this.getContentPane().setLayout(new BorderLayout());
TableColumn col1 = new TableColumn();
col1.setHeaderValue("Kunden Nr.");
TableColumn col2 = new TableColumn();
col2.setHeaderValue("Preis");
TableColumn col3 = new TableColumn();
col3.setHeaderValue("Bonität");
TableColumn col4 = new TableColumn();
col4.setHeaderValue("Bonität");
columnModel.addColumn(col1);
columnModel.addColumn(col2);
columnModel.addColumn(col3);
jTable1 = new JTable(tableModel,columnModel);
getContentPane().add(new JScrollPane(jTable1),"Center");
String[] data = {"Id","Preis","Bonitt"};
tableModel.addRow(data); // Fehler bei dieser Zeile
}
public static void main(String[] args)
{
RequestState requestState = new RequestState();
requestState.setVisible(true);
requestState.pack();
}
}
hier die geworfene Exception:
Exception occurred during event dispatching:
Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.Vector.elementAt(Vector.java:417) at javax.swing.table.DefaultTableModel.getValueAt(Def aultTableModel.java:659) at javax.swing.JTable.getValueAt(JTable.java:1714) at javax.swing.JTable.prepareRenderer(JTable.java:353 3) at javax.swing.plaf.basic.BasicTableUI.paintCell(Basi cTableUI.java:995) at javax.swing.plaf.basic.BasicTableUI.paintCells(Bas icTableUI.java:917) at javax.swing.plaf.basic.BasicTableUI.paint(BasicTab leUI.java:858) at javax.swing.plaf.ComponentUI.update(ComponentUI.ja va:39) at javax.swing.JComponent.paintComponent(JComponent.j ava:395) at javax.swing.JComponent.paint(JComponent.java:687) at javax.swing.JComponent.paintChildren(JComponent.ja va:498) at javax.swing.JComponent.paint(JComponent.java:696) at javax.swing.JViewport.paint(JViewport.java:668) at javax.swing.JComponent.paintChildren(JComponent.ja va:498) at javax.swing.JComponent.paint(JComponent.java:696) at javax.swing.JComponent.paintChildren(JComponent.ja va:498) at javax.swing.JComponent.paint(JComponent.java:696) at javax.swing.JComponent.paintWithBuffer(JComponent. java:3878) at javax.swing.JComponent._paintImmediately(JComponen t.java:3821) at javax.swing.JComponent.paintImmediately(JComponent .java:3672) at javax.swing.RepaintManager.paintDirtyRegions(Repai ntManager.java:370) at javax.swing.SystemEventQueueUtilities$ComponentWor kRequest.run(SystemEventQueueUtilities.java:124) at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:154) at java.awt.EventQueue.dispatchEvent(EventQueue.java: 337) at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:131) at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:98) at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:85) Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.Vector.elementAt(Vector.java:417) at javax.swing.table.DefaultTableModel.getValueAt(Def aultTableModel.java:659) at javax.swing.JTable.getValueAt(JTable.java:1714) at javax.swing.JTabl
ich möchte eine ganz billige Sache tun. Undzwar erzeuge ich ein JTable mit einem DefaultTableModel und einem DefaultTableColumnModel. Ich erzeuge 3 TableColumns. Bisher alles Ok ! Ich kann mein Jtable sehen mit den 3 Spalten
sobald ich mit tableModel.addRow(data) ein Eintrag hinzufügen möchte bekomme ich ein Fehler. Ich kann mir diesen blöden Fehler nicht erklären.
Hier der Code vielleicht kann mir jemand helfen ?
package bizztalk;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
public class RequestState extends JFrame
{
private JTable jTable1;
private DefaultTableModel tableModel = new DefaultTableModel();
DefaultTableColumnModel columnModel = new DefaultTableColumnModel();
public RequestState()
{
this.getContentPane().setLayout(new BorderLayout());
TableColumn col1 = new TableColumn();
col1.setHeaderValue("Kunden Nr.");
TableColumn col2 = new TableColumn();
col2.setHeaderValue("Preis");
TableColumn col3 = new TableColumn();
col3.setHeaderValue("Bonität");
TableColumn col4 = new TableColumn();
col4.setHeaderValue("Bonität");
columnModel.addColumn(col1);
columnModel.addColumn(col2);
columnModel.addColumn(col3);
jTable1 = new JTable(tableModel,columnModel);
getContentPane().add(new JScrollPane(jTable1),"Center");
String[] data = {"Id","Preis","Bonitt"};
tableModel.addRow(data); // Fehler bei dieser Zeile
}
public static void main(String[] args)
{
RequestState requestState = new RequestState();
requestState.setVisible(true);
requestState.pack();
}
}
hier die geworfene Exception:
Exception occurred during event dispatching:
Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.Vector.elementAt(Vector.java:417) at javax.swing.table.DefaultTableModel.getValueAt(Def aultTableModel.java:659) at javax.swing.JTable.getValueAt(JTable.java:1714) at javax.swing.JTable.prepareRenderer(JTable.java:353 3) at javax.swing.plaf.basic.BasicTableUI.paintCell(Basi cTableUI.java:995) at javax.swing.plaf.basic.BasicTableUI.paintCells(Bas icTableUI.java:917) at javax.swing.plaf.basic.BasicTableUI.paint(BasicTab leUI.java:858) at javax.swing.plaf.ComponentUI.update(ComponentUI.ja va:39) at javax.swing.JComponent.paintComponent(JComponent.j ava:395) at javax.swing.JComponent.paint(JComponent.java:687) at javax.swing.JComponent.paintChildren(JComponent.ja va:498) at javax.swing.JComponent.paint(JComponent.java:696) at javax.swing.JViewport.paint(JViewport.java:668) at javax.swing.JComponent.paintChildren(JComponent.ja va:498) at javax.swing.JComponent.paint(JComponent.java:696) at javax.swing.JComponent.paintChildren(JComponent.ja va:498) at javax.swing.JComponent.paint(JComponent.java:696) at javax.swing.JComponent.paintWithBuffer(JComponent. java:3878) at javax.swing.JComponent._paintImmediately(JComponen t.java:3821) at javax.swing.JComponent.paintImmediately(JComponent .java:3672) at javax.swing.RepaintManager.paintDirtyRegions(Repai ntManager.java:370) at javax.swing.SystemEventQueueUtilities$ComponentWor kRequest.run(SystemEventQueueUtilities.java:124) at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:154) at java.awt.EventQueue.dispatchEvent(EventQueue.java: 337) at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:131) at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:98) at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:85) Exception occurred during event dispatching: java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.Vector.elementAt(Vector.java:417) at javax.swing.table.DefaultTableModel.getValueAt(Def aultTableModel.java:659) at javax.swing.JTable.getValueAt(JTable.java:1714) at javax.swing.JTabl
Comment