In JFrame erscheint nur der obere Bereich
In einem JFrame ist das BorderLayout der Standardinhaltsbereich. Beim Hinzufügen von Komponenten ohne Angabe von Einschränkungen werden diese im mittleren Abschnitt des BorderLayout platziert. Allerdings kann nur eine Komponente diesen Bereich belegen.
Um dieses Problem zu beheben, verwenden Sie BorderLayout-Einschränkungen, um die Position jedes Panels anzugeben:
<code class="java">f.add(top, BorderLayout.PAGE_START);
f.add(mid);
f.add(bot, BorderLayout.PAGE_END);</code>
Zusätzliche Optimierungen:
- Entfernen Sie f.setSize(500, 500); und verwenden Sie stattdessen pack(), da es die Framegröße basierend auf seinem Inhalt festlegt.
- Change f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); zu f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); um die GUI ordnungsgemäß zu beenden, wenn sie geschlossen wird.
- Entfernen in.setVisible(true); da Komponenten sichtbar werden, wenn sie einem sichtbaren Container hinzugefügt werden.
- Aktualisieren Sie die Klassendeklaration auf die öffentliche Klasse EncDecExample statt auf die öffentliche Klasse EncDecExample. Erweitert JFrame, um zu vermeiden, dass ein unnötiger Verweis auf einen Frame beibehalten wird.
Das obige ist der detaillierte Inhalt vonWarum wird in meinem JFrame nur das obere Bedienfeld angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn