Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JTable nur nach Resize sichtbar

Empfohlene Antworten

Veröffentlicht

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ß

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.

  • 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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.