JTable mit einem Button zu einer Detail Seite springen

internet

Top Contributor
Ich bin gerade dabei eine kleine GUI zu schreiben mit Swing.
Ich komme aus dem Java EE - Umfeld und könnte das ziemlich schnell mit JSF umsetzen.

Was ich benötige:
Ich habe einen Button ganz rechts und möchte zu einer Detailseite springen (Switch einer View).
Wie mache ich das?

1656710243108.png

Ganz neben bei noch:
Bietet mir die JTable nicht automatisch an, dass ich sortieren kann (Klick auf die Spalte) ?
 
Wie kann ich denn die Tabelle mit einer Breite von 100% versehen?
In Swing werden die Positionen und Größen der Komponenten i.d.R. von einem LayoutManager bestimmt und jeder LM hat natürlich andere Eigenschaften. Was Du wo verwendet hast, kann ich Dir nicht sagen 🙂

Standardmäßig wird ein BorderLayout für die Content Pane von JFrame verwendet. Da würde die JScrollPane auf die verfügbare Breite gestreckt, wenn sie im Norden, Zentrum oder Süden des BorderLayouts eingefügt wird.

JPanel verwendet standardmäßig ein FlowLayout - da würde die JScrollPane nicht gestreckt.

Bei JTable kommt noch https://docs.oracle.com/javase/8/docs/api/javax/swing/JTable.html#setAutoResizeMode-int- hinzu. Wenn Du das ausschaltest, dann wird die Breite der JTable nicht mehr automatisch an den Viewport der JScrollPane angepasst.

Kurz: sorge dafür, dass Du das auto-resizing der Tabelle nicht deaktivierst und füge die Tabelle bzw. die JScrollPane, in der sich die Tabelle befindet, in solche Container, die die Breiten ihrer Komponenten an den verfügbaren Platz anpassen, dann funktioniert das alles automatisch.
 
Wenn du Cardlayout verwendest, dann sind alle "Seiten" im Layout genauso groß wie der Container mit dem Layout. galleryOverview ist also gleich groß wie cardLayout.
Wenn galleryOverview nun z.B. ein Borderlayout verwendet, wird auch das Scrollpane (muss mit Borderlayout.CENTER eingefügt worden sein) entsprechend gestreckt.
 

Zurück
Oben