Zum Inhalt springen

JTable nur nach Resize sichtbar


p_krger

Empfohlene Beiträge

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" :D

Lieben Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...