Einführung in JTabbedPane in Java
Die JTabbedPane-Klasse ist eine der vielen Klassen (wie JButton, JTextArea, JMenu, JTextField usw.), die das Java-Paket 'javax.swing' für Java-Swing-APIs bereitstellt.
Das Java Swing-Paket ist Teil der Java Foundation Classes, JFCs. Mit diesen Foundation Classes werden grafische Benutzeroberflächen und fensterbasierte Anwendungen unter Verwendung verfügbarer GUI-Komponenten erstellt, die einem Programmierer die Entwicklung von Desktopanwendungen erleichtern. Sie sind vollständig in Java geschrieben, und zwar in AWT, Abstract Windows Toolkit.
Im Gegensatz zu AWT bieten Java Swing-Pakete plattformunabhängige Komponenten. Auch diese Komponenten sind vergleichsweise leicht.
Am Ende dieses Artikels können Sie Swing JComponents wie JTabbedPane zu einem AWT-Container hinzufügen. Sie können auch die Position Ihres Panels und Ihres Rahmens festlegen. Außerdem erfahren Sie, wie Sie eine bildlauffähige Registerkarte erstellen.
Was ist JTabbedPane?
JTabbedPane ist eine der Klassen, die vom Swing-Paket in Java bereitgestellt werden. Es ist sehr nützlich, da es dem Benutzer die Flexibilität bietet, durch einfaches Klicken auf eine der Registerkarten zwischen verschiedenen Gruppen von Komponenten zu wechseln, die er sehen möchte. Den Registerkarten können unterschiedliche Titel oder Symbole zugewiesen werden.
Hier ist ein alltägliches Beispiel eines solchen Fensters mit mehreren Registerkarten, auf die durch Klicken auf die Registerkarten zugegriffen werden kann.
Ein einfaches Eigenschaftenfenster einer lokalen Festplatte (hier: Fenster "Lokale Festplatte F: Eigenschaften" auf meinem System) auf Ihrem Computersystem enthält mehrere Registerkarten mit den Namen "Allgemein", "Tools", "Hardware" usw., auf die Sie zugreifen können, indem Sie auf eine klicken von ihnen ist ein perfektes Beispiel für die Registerscheiben.
Mit anderen Worten: Mit dem JTabbedPane können Sie mehrere Komponenten an derselben Stelle verwenden. Der Benutzer wählt leicht, welche Komponente er sehen möchte, indem er die gewünschte Registerkarte auswählt oder darauf klickt.
Indizierung und Platzierung der Registerkarte "JTabbedPane"
Die Registerkarten werden durch einen Index dargestellt, der entsprechend der Stelle oder der Position, an der die Registerkarte hinzugefügt wurde, festgelegt wird.
Um dies zu verstehen, nehmen wir an, dass Sie Ihren ersten Tab hinzugefügt haben. Dann ist sein Index gleich '0' und Ihr nächster Tab hat einen Index gleich '1' und gemäß der Mode ist der Index Ihres zuletzt hinzugefügten Tab gleich 'Tab Count minus 1'.
Die Registerkartenbereichklassen verwenden ein einzelnes Auswahlmodell, das 'eine Reihe von Registerkartenindizes' sowie den 'aktuell ausgewählten Index' darstellt, dh den Index der ausgewählten Registerkarte.
Standardmäßig werden die Registerkarten an der TOP-Position platziert, wie Sie im Registerkartenbereich mit den Eigenschaften des obigen Fensters sehen können. Sie können diese Tab-Platzierung in eine der Richtungen wie LINKS, RECHTS oder Unten ändern, indem Sie die Methode setTabPlacement verwenden.
JTabbedPane-Konstruktoren in Java
Bei der Verwendung von JTabbedPane werden auch die Konstruktoren verwendet, die anhand der von ihnen bereitgestellten Berechtigungen unterschieden werden.
Die bei der Verwendung von JTabbedPane häufig verwendeten Konstruktoren sind wie folgt aufgeführt:
1. JTabbedPane ()
Der Konstruktor JTabbedPane () erstellt ein leeres TabbedPane. Wenn Sie den Konstruktor JTabbedPane () verwenden, wird das Fenster ohne Angabe einer Position erstellt. Die Registerkarte wird also an der Standardposition TOP platziert, wie oben unter Verwendung von JTabbedPane.TOP erläutert.
2. JTabbedPane (int tabPlacement)
Dieser Konstruktor erstellt ein leeres TabbedPane. Es bietet die Berechtigung, die Richtung oder den Ort für das Fenster festzulegen. Die Platzierung erfolgt, wenn die Richtung mit JTabbedPane.TOP, JTabbedPane.BOTTOM, JTabbedPane.LEFT oder JTabbedPane.RIGHT angegeben wird.
3. JTabbedPane (int tabPlacement, int tabLayoutPolicy)
Bei Verwendung dieses Konstruktors wird ein leerer Bereich mit Registerkarten erstellt. Dies bietet die Berechtigung, die Platzierung für den Registerkartenbereich genauso zu bestimmen wie für den Konstruktor JTabbedPane (int tabPlacement).
Außerdem kann der Programmierer die Tab-Layout-Richtlinie festlegen. Auf diese Weise kann der Programmierer steuern, wie die Registerkarten angezeigt werden. Die Tab-Layout-Richtlinie ist entweder auf JTabbedPane.SCROLL_TAB_LAYOUT oder JTabbedPane.WRAP_TAB_LAYOUT festgelegt. Standardmäßig lautet die Richtlinie settoWRAP_TAB_LAYOUT.
Wenn die Richtlinie auf SCROLL_TAB_LAYOUT festgelegt ist, können die Registerkarten gescrollt werden, und in Ihrem Registerkartenfenster wird eine Schaltfläche zum Scrollen der Registerkarten von links nach rechts oder von oben nach unten angezeigt.
JTabbedPane-Beispiel
Hier diskutieren wir das Beispiel von JTabbedPane in Java im Detail:
Zum Schluss noch etwas Übung, sollen wir anfangen?
Dies ist der Teil, in dem wir versuchen, das Fenster mit den Registerkarten in unseren JFrame einzufügen. Wir werden das Paket javax.swing.JTabbedPane verwenden, das uns die Möglichkeit bietet, unserem Rahmen Tabulatoren hinzuzufügen.
Das Folgende ist ein Beispielcode, der JTabbedPane verwendet, um Registerkarten in unserem Rahmen zu erstellen.
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
public class JTP_Layout
(
JFrame frame;
JTP_Layout()
(
//Creating our JFrame
frame= newJFrame("Tabbed Pane Sample");
//Terminating process after exiting
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Adding TabbedPane Object
JTabbedPanetabbedPane = new JTabbedPane();
//Adding TabbedPane LayoutPolicy
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
//TabPlacement
//tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
//Setting our componentobject
//JRadioButton r1=new JRadioButton("A) Tab Component A");
//r1.setBounds(30, 30, 100, 90);
//Adding our First Panel Object
JPanel p1=new JPanel();
//Adding our component to the Panel
//p1.add(r1);
JPanel p2=new JPanel();
JPanel p3=new JPanel();
//Setting boundary values for the tabs
tabbedPane.setBounds(50, 50, 200, 200);
//Naming 'One' asour First Pane
tabbedPane.add("One", p1);
tabbedPane.add("Two", p2);
tabbedPane.add("Three", p3);
//Setting Frame'sposition to the center
frame.add(tabbedPane, BorderLayout.CENTER);
//Setting FRame'sSize
frame.setSize(400, 150);
//Setting visibility asTrue
frame.setVisible(true);
)
public static void main(String args())
(
new JTP_Layout();
)
)
Wenn das obige Programm ausgeführt wird, wird das folgende Fenster als Ausgabe angezeigt.
Im obigen Beispiel haben wir unserem JFrame Registerkarten hinzugefügt und unseren Registerkarten unterschiedliche Namen wie "Eins", "Zwei" usw. gegeben. Wir können unter unseren verschiedenen Registerkarten auch unterschiedliche Komponenten hinzufügen, indem wir eine einfache Codezeile wie die folgende verwenden.
Wir haben ein Objekt für den Radioknopf r1 erstellt und dieses Objekt wurde dann verwendet, um Radioknöpfe zum Panel One, dh p1, hinzuzufügen.
Die Komponente "Optionsfeld" wird in unserem ersten Bereich angezeigt, in dem wir sie hinzugefügt haben.
Verwenden von JTabbedPane-Konstruktoren
Konstruktoren wie JTabbedPane (int tabPlacement) oder JTabbedPane (int tabPlacement, int tabLayoutPolicy) haben wir bereits in unserem Programm verwendet, aber wir haben noch keinen Effekt gesehen.
Um dies zu verstehen, haben wir die Java-Klasse für uns selbst erstellt und dann unseren Konstruktor JTP_Layout aufgerufen (siehe Code). Dann setzen wir Argumente wie setTabLayoutPolicy mit dem Objekt unserer Klasse auf SCROLL_TAB_LAYOUT.
Wenn die Tablayout-Richtlinie wie oben erwähnt auf SCROLL eingestellt ist, kann der Benutzer mithilfe einer Schaltfläche durch Registerkarten in eine Richtung scrollen.
Zur Veranschaulichung habe ich die Anzahl der Registerkarten in unserem Programm erhöht und die Richtlinie auf SCROLL gesetzt.
In der rechten Ecke befindet sich eine Bildlaufschaltfläche, über die der Benutzer von links nach rechts navigieren kann.
Das andere Argument, das unserem Konstruktor hinzugefügt wurde, ist setTabPlacement. Wie oben erläutert, ist es standardmäßig auf TOP gesetzt. Unser Konstruktor hilft uns jedoch bei der Entscheidung, indem er die Tab-Platzierung auf UNTEN, LINKS oder RECHTS setzt.
Wir hatten solchen Code bereits offline in unserem Programm, aber kommentierten (siehe den Code), wenn der Kommentar entfernt wurde, den Effekt.
Beachten Sie, dass bei Verwendung von tabbedPane.setTabPlacement (JTabbedPane.BOTTOM) unsere Registerkarten an den unteren Rand des Rahmens verschoben wurden.
Hierbei ist zu beachten, dass keine Fehlerbehandlung erforderlich ist. Unser JTabbedPane-Objekt verarbeitet Ihre Maus- und Tastaturbewegungen oder -ereignisse. Wenn Sie jedoch ähnliche Funktionen ohne die Registerkartenoberfläche wünschen, können Sie anstelle eines Registerkartenbereichs ein Kartenlayout verwenden.
Wenn Sie dies in einfachen Worten formulieren, können Sie zum Erstellen unseres Registerkartenbereichs JTabbedPane instanziieren, anschließend die anzuzeigenden Komponenten erstellen und diese Komponenten der gewünschten Registerkarte hinzufügen.
Das war es doch, oder?
Empfohlene Artikel
Dies ist eine Anleitung zu JTabbedPane in Java. Hier diskutieren wir die Einführung in die Konstruktoren JTabbedPane und JTabbedPane zusammen mit ihrem Beispiel. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.
- Konstruktor und Destruktor in Java
- JScrollPane in Java
- JComboBox in Java
- JDialog in Java
- Java-Bereitstellungstools
- JFrame in Java