Veröffentlicht 5. März 201411 j Moin zusammen! Im Prinzip steht das Problem schon im Titel. Hier trotzdem mal der Code: private static void initalize() { window = new JFrame(); window.setSize(600, 400); window.setLocationRelativeTo(null); window.setTitle("Table Tests"); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); table = new JTable(daten, spaltenBezeichnung); window.add(new JScrollPane(table)); window.resize(window.getWidth() + 1, window.getHeight() + 1); } Mit dem manuellen Resize unten habe ich das Problem an sich eigentlich gelöst, aber dennoch. Würde ich diesen expliziten Aufruf der Resize-Methode nicht durchführen, sehe ich die Tabelle in dem ScrollPane erst dann, wenn ich Hand anlege und den gesamten Frame ein Stückchen aufziehe (eben einen Pixel, der reicht). Ein "window.repaint()" bringt leider nichts. Hat jemand nen Tipp für mich? Will's ja von Anfang an richtig lernen und dazu, tja, bräuchte ich das "Gewusst-wie" Lieben Gruß
5. März 201411 j Dein Problem resultiert daraus, dass du den JFrame schon sichtbar setzt (setVisible), bevor du die JTable hinzufügst. Dabei werden der Container des JFrame und alle darunter liegenden Komponenten und Container validiert und gezeichnet. Wenn du danach was an der Oberfläche änderst, muss die neuvalidiert und -gezeichnet werden. Wenn es als Lösung also nicht möglich ist, das setVisible nach dem Hinzufügen der Tabelle aufzurufen, sollte ein invalidate auf dem JFrame helfen.
5. März 201411 j Autor Dein Problem resultiert daraus, dass du den JFrame schon sichtbar setzt (setVisible), bevor du die JTable hinzufügst. Dabei werden der Container des JFrame und alle darunter liegenden Komponenten und Container validiert und gezeichnet. Wenn du danach was an der Oberfläche änderst, muss die neuvalidiert und -gezeichnet werden. Wenn es als Lösung also nicht möglich ist, das setVisible nach dem Hinzufügen der Tabelle aufzurufen, sollte ein invalidate auf dem JFrame helfen. Hat geholfen, lieben Dank! Kann geschlossen werden.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.