WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [Java]JTable verhält sich extrem seltsam (http://www.wcm.at/forum/showthread.php?t=157836)

cndg 04.02.2005 12:47

[Java]JTable verhält sich extrem seltsam
 
Hi!

Ich hab da ein gewaltiges Problem mit JTable: Wenn ich in meine Tabelle (vom GUI oder vom Programm aus - is egal) was reinschreibe, steht das nachher in allen Zellen der Zeile!?! Um Einflüsse anderer Programmteile auszuschließen, habe ich mir da ein kleines Tabellentestprogramm geschrieben, um der Sache auf den Grund zu gehen:

Code:

public class TableTest extends JFrame {

        public TableTest() {
                super("Table Test");
                addWindowListener(new WindowClosingAdapter());
                setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
               
                DefaultTableModel tm = new DefaultTableModel(24, 7);
                DefaultTableColumnModel cm = new DefaultTableColumnModel();
                DefaultListSelectionModel sm = new DefaultListSelectionModel();
               
                for(int i = 0; i < 7; i++) {
                        TableColumn tc = new TableColumn();
                        tc.setHeaderValue("" + i);
                        cm.addColumn(tc);
                }
       
               
               
                JTable tbl = new JTable(tm, cm, sm);
                this.getContentPane().add(new JScrollPane(tbl));
        }
       
        public static void main(String[] args) {
                TableTest wnd = new TableTest();
                wnd.setLocation(100, 100);
                wnd.setSize(256, 256);
                wnd.setVisible(true);       
        }
}

Mir ist aber noch immer nicht klar, was es da haben könnte.

Ich hoffe es kann mir jemand helfen.

mfg
cndg

jak 04.02.2005 13:40

Re: [Java]JTable verhält sich extrem seltsam
 
Keine Ahnung wo der Fehler ist, aber so funktioniert es:
Code:

import javax.swing.*;
import javax.swing.table.*;
import java.util.Vector;
[...]
  public TableTest() {
    super("Table Test");
    //nächsten 3 Zeilen
    Vector columns=new Vector();
    for (int i = 0; i < 7; i++)  columns.add("a" + i);
    DefaultTableModel tm = new DefaultTableModel(columns, 24);
    //oder diese 4 Zeilen:
    DefaultTableModel tm = new DefaultTableModel(24,7);
    String[] titles=new String[7];
    for(int i = 0; i < titles.length; i++) titles[i]=""+i;
    tm.setColumnIdentifiers(titles);
    //Ende; nur eine der beiden Versionen nötig
    JTable tbl = new JTable(tm);
    tbl.setRowSelectionAllowed(false);
    this.getContentPane().add(new JScrollPane(tbl));
  }
[...]

Der Fehler hat wohl irgendwas mit dem
DefaultTableColumnModel zu tun.

jak

jak 04.02.2005 13:41

Re: Re: [Java]JTable verhält sich extrem seltsam
 
Wieder mal ändern und zitieren verwechselt...

cndg 04.02.2005 15:13

So funktionierts, danke :) ! Also in puncto GUI verhalten sich Java-Komponenten schon manchmal außerordentlich seltsam. Aber was will man machen. Ich werd mir mal das neueste SDK saugen, vielleicht haben sie da den Bug schon behoben.

PS: Hast du mein Testprogramm bei dir ausprobiert oder einfach angenommen, dass es bei dir auch spinnen würde? (nur interessehalber)

mfg
cndg

cndg 04.02.2005 15:13

So funktionierts, danke :) ! Also in puncto GUI verhalten sich Java-Komponenten schon manchmal außerordentlich seltsam. Aber was will man machen. Ich werd mir mal das neueste SDK saugen, vielleicht haben sie da den Bug schon behoben.

PS: Hast du mein Testprogramm bei dir ausprobiert oder einfach angenommen, dass es bei dir auch spinnen würde? (nur interessehalber)

mfg
cndg

cndg 04.02.2005 15:13

So funktionierts, danke :) ! Also in puncto GUI verhalten sich Java-Komponenten schon manchmal außerordentlich seltsam. Aber was will man machen. Ich werd mir mal das neueste SDK saugen, vielleicht haben sie da den Bug schon behoben.

PS: Hast du mein Testprogramm bei dir ausprobiert oder einfach angenommen, dass es bei dir auch spinnen würde? (nur interessehalber)

mfg
cndg

jak 04.02.2005 16:57

Zitat:

Original geschrieben von cndg
PS: Hast du mein Testprogramm bei dir ausprobiert oder einfach angenommen, dass es bei dir auch spinnen würde? (nur interessehalber)
hab's ausprobiert. Ist übrigens auch noch beim 1.5 (aka 5.0) so. Ich vermute da ist irgendein Problem oder eine vergessene Einstellung bei DefaultTableColumnModel.

Falls du's nicht schon kennst ein paar nützliche Seiten:
http://java.sun.com/docs/books/tutorial/uiswing/
http://java.sun.com/docs/books/tutor...nts/table.html
http://java.sun.com/docs/books/tutor...ents.html#many


Jak

cndg 04.02.2005 19:24

danke!

mfg
cndg


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag