Ich erstelle ein Programm, in dem es drei JPanels - 2 in der oberen Hälfte des Bildschirms und 1 in der unteren Hälfte gibt. Hier ist der Code zu positionieren, wie so:
people.setBounds(0, 0, Math.round(getWidth()/3), Math.round(getHeight()/2));
resources.setBounds(people.getX() + people.getWidth(), 0, Math.round(getWidth()/3), Math.round(getHeight()/2));
neighboring.setBounds(resources.getX() + resources.getWidth(), 0, Math.round(getWidth()/3), Math.round(getHeight()/2));
Aber leider, das ist das Ergebnis, das ich bekommen:
Ich habe versucht, die Platten zu bekommen das Fenster perfekt passen, aber wie Sie Sie sehen, sie waren ein bisschen größer als erwartet. Irgendeine Hilfe, bitte?JPanel unerwünschte Positionen und/oder Größen
1
A
Antwort
3
Verwenden Sie die Layout-Manager, nicht SetBounds, und lassen Sie die Layouts die Arbeit für Sie erledigen. Ihre GUI könnte mit minimalem Code erstellt werden, indem einige JPanels verschachtelt werden, die ein einfaches GridLayout verwenden. Weitere Informationen hierzu finden Sie unter Lesson: Laying Out Components Within a Container
Verwandte Themen
- 1. Positionen und Größen von Layoutelementen werden für verschiedene Geräte geändert
- 2. BorderLayout - JPanel in JPanel
- 3. Wie JPanel mit einem anderen JPanel
- 4. Unerwünschte Farbmischung
- 5. JPanel Transparenzproblem
- 6. Transparent JPanel
- 7. JPanel Sichtbarkeit
- 8. Aktualisieren JPanel
- 9. JPanel Schlagschatten
- 10. JPanel setbounds
- 11. Unerwünschte Zeile zwischen Labels und Radiogruppe in Java
- 12. Wie plotten Positionen entlang einer Chromosom-Grafik
- 13. UIBarButtonItem Größen unterscheiden sich
- 14. Magento: Minimalmenge verschiedene Größen
- 15. Unterstützung aller iphone Größen
- 16. Media Queries Größen
- 17. HTML5 srcset und Größen
- 18. Empfehlung verschiedene Größen
- 19. Größen-Parametrierung in Scala
- 20. BootStrap Kollaps falsche Größen
- 21. Eingang div Größen
- 22. FF unerwünschte Rand anzeigen
- 23. Unerwünschte Einstellungen Verzeichnis
- 24. Unerwünschte doppelte Navigationsleiste
- 25. qt Schöpfer unerwünschte Disassembly
- 26. Linq unerwünschte Liste
- 27. Unerwünschte Dezimalstelle im Textbereich
- 28. Unerwünschte Marge um Header
- 29. RecyclerView.Adapter Unerwünschte Raum
- 30. JQuery: Unerwünschte Animation Verlangsamung
Ok, aber mit einem GridLayout kann ich nicht mein "Neighbouring Civilizations" -Panel füllen die zweite Zeile; und mit einem GridBagLayout ist das Sizing wirklich, wirklich winzig aus irgendeinem Grund ... –
@Daniel - warum kannst du deine JPanel nicht füllen die zweite Reihe? Die gesamte GUI verwendet GridLayout (2, 1) für zwei Zeilen, 1 Spalte. Dann fügen Sie in der oberen Zeile ein JPanel hinzu, das GridLayout (1, 2) verwendet, das für 1 Zeile und 2 Spalten steht. In der oberen Zeile fügen Sie "people of the ..." und "resources" JPanels hinzu, und in der unteren Zeile der Haupt-GUI fügen Sie die "Neighboring Civ ..." JPanel hinzu. Der Schlüssel besteht darin, JPanels * zu verschachteln, die ihre eigenen Layouts verwenden. –
Ich dachte eigentlich an ein anderes Panel ("Statistics") - ich habe gerade ein neues GridLayout (2, 2) erstellt und das funktioniert perfekt. Vielen Dank! –