Hallo Kay,
Gibt es eine Möglichkeit, das Fenster zu maximieren, also auf die maximale Breite und Höhe zu setzen?
Eine Suche nach "java maximize jframe" liefert mir gleich als erstes Suchergebnis einen Volltreffer. ;-)
Nun könnte es ja sein, dass dieses maximierte Fenster immer noch zu klein ist. Gibt es eine Möglichkeit, Scroll-Balken festzulegen?
Ja, und zwar genau mit der Methode eines JScrollPane, wie du sie unten beschrieben hattest.
Mein Code sieht da meist wie folgt aus (ungetestet, ohne Imports):
public class TestClass {
public static void main(String[] args) {
// Frame erstellen
JFrame frame = new JFrame("Titel");
// alternativ auch:
MyJFrame frame = new MyJFrame("Titel");
// einzelne Komponenten erstellen
// pnOben und pnUnten hier erstellen, beispielsweise so:
PnOben pnOben = new PnOben();
PnUnten pnUnten = new PnUnten();
// Gesamtpanel erstellen (inkl. Layout), das einen Scrollbalken haben soll
JPanel panel = new JPanel(new BorderLayout());
// Komponenten dem Gesamtpanel hinzufügen
panel.add(pnOben, BorderLayout.CENTER);
panel.add(pnUnten, BorderLayout.SOUTH);
// Panel dem Frame hinzufügen, oder aber vorher noch Scrollbalken festlegen, so wie hier
JFrame.add(new JScrollPane(panel));
}
}
Einfacher als die von dir beschriebene Methode geht es also nicht unbedingt, denn du brauchst immer einen Container, der für den/die Scrollbalken zuständig ist. Man muss sich bei Java erst mal daran gewöhnen.
Es gibt natürlich auch GUIs, die dir dabei helfen können, die Oberfläche simpel zusammenzuklicken. Bei NetBeans nennt sich dies "Matisse GUI Builder". Ich bevorzuge jedoch Eclipse, und ich bevorzuge es, meine grafischen Gebilde selbst (im Code) zu errichten. Dann hat man nämlich noch dazu die besten Möglichkeiten, nach dem OOP-Prinzip eigene Komponenten anzufertigen (z. B. einzelne Panels) und in andere Dateien auszulagern.
Bei komplexen Layouts nehme ich übrigens meist den GridBagLayout-Manager. Der ist zu Beginn zwar schwer zu verstehen, ermöglicht dafür aber später die flexibelsten Layouts.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)