Wie kann ich die Abstände ein JFrame?
Gibt es eine Möglichkeit, die Abstände einer JFrame
?
Ich habe versucht,
frame.getContentPane().getInsets().set(10, 10, 10, 10);
und
frame.getInsets().set(10, 10, 10, 10);
aber keiner von Ihnen scheint zu arbeiten.
- warum brauchen Sie das?
- Wenn Sie mit einem
JPanel
für den content-Bereich einfachpanel.setBorder(new EmptyBorder(10,10,10,10));
- Wenn die OP ist, Fragen über die Einstellung der Abstände auf den Rahmen-warum nicht einfach überschreiben
getInsets()
? - 1) Ist "nicht" eine gültige Antwort? 2) Komposition über Vererbung 3) Es ist selten, dass wir machen können eine Anwendung mit einem einzelnen Lay-out, so können auch erstellen Sie eine main-panel content-Bereich. 4) Aber abgesehen von diesen drei überzeugende Gründe, denke ich nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also im Grunde
contentPanel
ist der Haupt-container von Ihrem Rahmen.getContentPane
habe ich eineJPanel
NamencontentPanel
Zugang zusetBorder
Methode.Überschreiben der
Insets
vonJFrame
wäre nicht das soultion nutzen, um Ihre eigentliche problem sein.Um Ihre Frage zu beantworten, Sie können nicht legen Sie die Abstände
JFrame
. Sie sollten JFrame erweitern und überschreiben Sie diegetInsets
Methode zu geben, die Abstände, die Sie benötigen.Erstellen Sie ein Objekt der LayOutConstraint und seine Einsätze.
Wie im unten angeführten Beispiel, das ich verwendet habe GridBagLayout() und verwendet GridBagConstraint () - Objekt.
Da diese Frage nicht endgültig beantworten, aber Sie können es tun, wie basiljames sagte hier. Der richtige Weg, es zu tun, wäre eine Verlängerung eine
JFrame
und überschreiben dann diegetInsets()
Methode.Beispielsweise
erstellen Sie eine main
JPanel
und legen Sie alles andere in ihm.Dann können Sie
BorderFactory
zu erstellenEmptyBorder
oderLineBorder
.siehe diese Antwort:
https://stackoverflow.com/a/17925693/8953378