Ich habe eine Formatierungsfrage für meine Java-Swing-Anwendung. Es sollte ziemlich einfach sein, aber ich habe Schwierigkeiten, Hilfe zu finden (Jedes Thema scheint zu betreffen entfernen jede Standardauffüllung in JPanel).
Der Text in meinen verschiedenen JPanels schmiegt sich an die Seiten und die Oberseite und berührt die farbigen Ränder: Wie kann ich Polsterung hinzufügen?
Julien Vermillard
Setze ein EmptyBorder um deine JPanel.
Beispiel:
JPanel p =new JPanel();
p.setBorder(new EmptyBorder(10, 10, 10, 10));
oder Sie können eine zusätzliche Polsterung um den vorhandenen Rand herum haben: p.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(10, 10, 10, 10), new EtchedBorder()));
– Synox
22. April 2013 um 8:42 Uhr
Was passiert, wenn die Größe des Fensters geändert wird? Diese Lösung ist nicht gut, oder?
– Andreas S
2. April 2014 um 8:14 Uhr
@Synox Legend in der Tat! Beachten Sie, dass Sie EmptyBorder als letzten Parameter für die interne Auffüllung angeben können
– Jäger S
17. März 2018 um 23:11 Uhr
Wenn Sie eine Polsterung im Inneren benötigen JPanel Im Allgemeinen fügen Sie Padding mit dem von Ihnen verwendeten Layout-Manager hinzu. Es gibt Fälle, in denen Sie den Rand einfach erweitern können JPanel.
Das Hinzufügen von Padding zum Layout-Manager (in meinem Fall GridLayout) fügt Padding zwischen den angrenzenden Panels hinzu, aber nicht innerhalb eines einzelnen Panels. Aber eine Grenze wird reichen, danke für die Hilfe.
– Konnor
16. März 2011 um 16:42 Uhr
Ich nehme an, Ihr JPanel enthält JTextField, um der Demo willen.
Diese Komponenten bietet JTextComponent#setMargin() Methode, die das zu sein scheint, wonach Sie suchen.
Wenn Sie nach einem leeren Rand beliebiger Größe um Ihren Text suchen, verwenden Sie ihn EmptyBorder