Wie schaffen erweiterbar Platten mit swing?
Ich würde gerne eine Liste erstellen von expandand/Bedienfelder, wie auf diesem Bild:
Ich habe nicht gefunden eine swing-Komponente, also begann ich, etwas zu schaffen wie diese.
Ich versuchte, um Tasten, eine unter der anderen, die füllen die zur Verfügung stehende Breite, aber nicht wirklich funktioniert. Sehe ich nur die zuletzt hinzugefügten.
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(new JButton("Delphi Projects"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); //hidden panel
panel.add(new JButton("Delphi Projects | Delphi Files"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); //hidden panel
panel.add(new JButton("Other Files"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); //hidden panel
panel.add(new JButton("C++ Builder Projects | C++ Builder Files"), BorderLayout.NORTH);
panel.add(new JPanel(), BorderLayout.NORTH); //hidden panel
JScrollPane scroll = new JScrollPane(panel);
Einige relevante Beispiele sind cite hier.
InformationsquelleAutor Iter Ator | 2014-09-06
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen Blick auf
JXTaskPaneContainer
undJXTaskPane
aus SwingX Projekt, die haben diese Vorteile:JPanel
ist also kein extra Aufwand notwendig ist, um mit Ihnen zu arbeiten.Zeit.
Wenn Sie nicht wie die Aufgabenbereiche und umsetzen wollen, etwas auf Ihrem eigenen dann haben Sie
JXCollapsiblePane
(auch in SwingX-API).Überprüfen SwingLabs Demos für einen kompletten Satz von SwingX-Komponenten demo.
Screenshot
InformationsquelleAutor dic19
Blick auf JXTreeTable aus der SwingX-Projekt:
Könnten Sie auch einen Blick auf JXTree, die ähnlich ist, und vielleicht besser sein, je Ihre Bedürfnisse.
Bekommen es von hier.
InformationsquelleAutor chiastic-security
Die Komponente, die Sie suchen, ist ein Akkordeon. Haben Sie einen Blick auf diese Frage:
Akkordeon für Schwung?
Als Ihren code - Sie können nur die Letzte, denn Sie sind das hinzufügen Sie alle auf ein panel mit einer
BorderLayout
mitBorderLayout.North
als layout-constraint. Jeder entfernt die zuvor hinzugefügten panel. Versuchen Sie die Umstellung auf ein anderes layout - z.B.BoxLayout
.InformationsquelleAutor Kalev