100 Geschrieben 23. November 2009 Geschrieben 23. November 2009 Hi, ich bin neu im Forum und auch recht neu in Java. Bin eigentlich nicht blöd, oder zu faul zum nachschauern, aber ich komme einfach nicht weiter. Ziel ist es meine Daten in eine Tabelle zu bekommen, der Inhalt ändert sich im Laufe des Programms immer wieder, deshalb dachte ich, wäre es am einfachste, die Tabelle immer neu zu erstellen. Überganslösung die ich gefunden habe ist es, die Tabelle zu erstellen und dann jede Zelle einzeln zu setzen, dann fehlt mir aber die Überschrift und das ist irgendwie sone schummel Lösung. Ich hab gelesen, dass es ein Tabellenmodell gibt, mit dem man eigentlich arbeiten sollte, aber damit habe ich mich auch noch nicht beschäftigt. Ich benutze den Javaeditor von javaeditor.org und habe damit auch die GUI bzw. die Tabelle erstellt. Theoretisch wollte ich die Tabelle jetzt einfach erstmal auf Knopfdruck erstellen, so wie es mit meinem Button geklappt hat, aber mit der Tabelle will es nicht wenn der Code wie folgt aussieht: Hier die wichtigen Code-Ausschnitte: private JTable tblDatenbank; Container cp = getContentPane(); tblDatenbank = new JTable( 100, 5 ); tblDatenbank.setBounds(400, 32, 289, 161); tblDatenbank.setRowHeight(12); cp.add(tblDatenbank); Das jetzt mal als erstes, kann mir jemand sagen, wieso das nicht funktioniert? Gibt es noch etwas, worauf ich achten muss? Bin wirklich über jede Hilfe dankbar, möchte langsam mal vorran kommen. Mfg Zitieren
100 Geschrieben 23. November 2009 Autor Geschrieben 23. November 2009 Okay ich glaube ich konkretisiere mal meine Frage, folgender Code funktioniert, erstellt allerdings ein extra Fenster was ich ja nicht will JFrame f = new JFrame(); f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); JTable table = new JTable( inhalt, columns ); table.setBounds(400, 32, 289, 161); f.add( new JScrollPane(table) ); f.pack(); f.setVisible( true ); Nur wie krieg ich die blöde Tabelle auf die bereits existierende Form? Zitieren
kingofbrain Geschrieben 23. November 2009 Geschrieben 23. November 2009 f.add( new JScrollPane(table) ); Indem Du hier die Tabelle in der ScrollPane nicht dem neuen "f" hinzufügst, sondern Deinem bestehenden Frame. Peter Zitieren
100 Geschrieben 23. November 2009 Autor Geschrieben 23. November 2009 (bearbeitet) Danke, aber welcher ist der Frame? public class kontoGUI2 extends JFrame { Ist das einzige was ich finde.. Hier nochmal ein Ausschnitt public kontoGUI2(String title) { // Frame-Initialisierung super("Kontoverwaltung"); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); int frameWidth = 718; int frameHeight = 294; setSize(frameWidth, frameHeight); Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); int x = (d.width - getSize().width) / 2; int y = (d.height - getSize().height) / 2; setLocation(x, y); cp.setLayout(null); Bearbeitet 23. November 2009 von 100 Zitieren
100 Geschrieben 23. November 2009 Autor Geschrieben 23. November 2009 Okay es geht tatsächlich über cp... das Problem war nicht, dass die Tabelle nicht erstellt wurde, sondern dass sie nicht sichtbar war. Ich hab aus Spaß ein bischen mit der Maus auf der Form rummarkiert, und auf einmal waren die einzelnen Zellen da.. ist das normal? :hells: Dafür muss ich jetzt auch noch ne Lösung finden Zitieren
Dragon8 Geschrieben 24. November 2009 Geschrieben 24. November 2009 Geschieht der Aufruf von setVisible(true) auf deinem Frame bevor du die Tabelle hinzufügst oder erst danach? Wenn der Aufruf vorher passiert, würde ich mal versuchen den Aufruf als allerletzten passieren zu lassen. setVisible(true) sollte erst aufgerufen werden, wenn dein gesamter Frame fertig zusammengestellt ist. Wenn du im nachhinein noch Komponenten hinzufügst oder änderst muss du angeben dass sich was geändert hat, damit der Frame neu gezeichnet wird, und damit die Änderungen sichtbar werden. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.