Ich hatte einen ziemlich einfachen Dialog mit einem Paar JPanels von ungefähr gleicher Größe, die in einem JSplitPane enthalten sind. Jetzt suche ich nach einem dritten JPanel und ich bin mir nicht sicher, ob es eine offensichtliche Lösung gibt. Gibt es ein gutes Fenster-Docking-Framework da draußen? oder ist das eine schrecklich komplexe Sache, in die man eindringen kann? Wenn ich mich nur an den 3-Panel-Split halte, muss ich dann ein Paar verschachtelter JSplitPanes verwenden oder gibt es eine Alternative, die einen 3-Wege-Split ermöglicht?Alternativen/Verbesserungen zu JSplitPane
Antwort
SwingX Bibliothek verfügt über JXMultiSplitPane Klasse, mit der Sie beliebige Layouts von veränderbaren Panels erstellen können.
Ein sehr guter Artikel darüber ist bei http://today.java.net/pub/a/today/2006/03/23/multi-split-pane.html
Angenommen, Sie haben drei Tafeln:
JPanel panel1;
JPanel panel2;
JPanel panel3;
// set up panels
...
// put three panels into a horizontal split pane,
// with 2 resizeable dividers
JSplitPane splitPaneLeft = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane splitPaneRight = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPaneLeft.setLeftComponent(panel1);
splitPaneLeft.setRightComponent(panel2);
splitPaneRight.setLeftComponent(splitPaneLeft);
splitPaneRight.setRightComponent(panel3);
// put splitPaneRight onto a single panel
JPanel panelSplit = new JPanel();
panelSplit.add(splitPaneRight);
Beachten Sie die letzte Zeile. Du fügst dem * LAST * splitPane den Container hinzu, nicht den ersten, wie ich es getan habe, dann frage ich mich, warum die anderen nicht erscheinen. Ziemlich nicht offensichtlich. – Bradjcox
So habe ich intuitiv meine GUI mit 3 Panels arbeiten lassen. Dies führt jedoch zu Problemen bei der Größenanpassung der geteilten Fenster: Das rechte Fenster kann jetzt über das linke Feld skaliert werden, aber nicht umgekehrt. Versuchen Sie, das Master-Panel auf splitPaneLeft umzuschalten, um verschiedene Größenänderungsfunktionen zu sehen. Wählen Sie den Stil, der am besten zu Ihrer GUI passt. – Ron
- 1. JSplitPane Größenänderungsverhalten
- 2. JSplitPane Splitting 50% genau
- 3. JSplitPane Teiler benutzerdefinierte Pfeilzeichen
- 4. Verwenden von JSplitPane mit JTextArea
- 5. JSplitPane kleiner Rand aber große Grab-Hitbox
- 6. Wie lasse ich ein JSplitPane glatt laufen?
- 7. Berechnen von "schön" aussehender Position für Teiler in JSplitPane
- 8. Java Swing Ghost Komponente - JSplitPane innerhalb der horizontalen Box in JFrame
- 9. Blockgröße kann in BorderLayout nicht geändert werden
- 10. JTable Modell Listener erkennt eingefügte Zeilen zu früh (bevor sie gezeichnet werden)
- 11. Entspricht setResizeWeight() auf SplitPane in JavaFX?
- 12. JME 3 + Swing, mehrere Leinwände
- 13. Mache meinen eigenen GUI Builder in Java NetBeans
- 14. jQuery zu PHP zu Highcharts
- 15. Rückkehrliste zu JSON zu Angularjs
- 16. zu XML Dokument zu speichern
- 17. Schwierigkeit, zu TabBarController zu kommen
- 18. NSArray zu NSMutableArray zu NSString
- 19. CURL zu POST zu JIRA
- 20. Wie kann ich meine Bilder in JPanel auf Fenstergröße skalieren?
- 21. UIInage zu NSDate zu NSString zu JSON String gibt Nullwert
- 22. tcl exec zu stdout Bedarf umgeleitet Ergebnis zu zu speichernden
- 23. PHP zu öffnen, zu lesen, zu/von mysql Datenbank
- 24. Polymer: Wie HTML zu Bildschirm zu loopen und zu rendern
- 25. 3 Spalten CSV, zu Adjazenz-Matrix, zu Networkgraph, zu Arcplot
- 26. NSString zu CLLocationDegrees zu NSString ist Wert zu verändern
- 27. Empfehlung zu Optimierungsroutine/Einschränkungen zu verwenden
- 28. mod_rewrite Regel zu Abfrage Zeichenfolge zu verhindern
- 29. Haskell: zu reparieren oder nicht zu beheben
- 30. Wie Boost zu zwingen, rpath zu verwenden?
ooh! schön .... danke, ich werde es mir ansehen. –