Announcement

Collapse
No announcement yet.

JTable füllen mit addRow()

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JTable füllen mit addRow()

    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

  • #2
    Hallo !

    hast du da bereits daten in der Table ?
    Wenn nicht musst bevor du daten addest, zuerst ein Object[] erstellen, zu dem das neue Object[] adden kannst !

    javahendri

    Comment

    Working...
    X