TabbedPane
Die Klasse TabbedPane
bietet eine kompakte und organisierte Möglichkeit, Inhalte anzuzeigen, die in mehrere Abschnitte unterteilt sind, die jeweils mit einem Tab
verbunden sind. Benutzer können zwischen diesen Abschnitten wechseln, indem sie auf die jeweiligen Taps klicken, die häufig mit Text und/oder Icons beschriftet sind. Diese Klasse vereinfacht die Erstellung von facettenreichen Benutzeroberflächen, in denen unterschiedliche Inhalte oder Formulare zugänglich, aber nicht gleichzeitig sichtbar sind.
Usages
Die Klasse TabbedPane
ist ein leistungsstarkes Werkzeug für Entwickler zur Organisation und Präsentation mehrerer Taps oder Abschnitte innerhalb einer Benutzeroberfläche. Hier sind einige typische Szenarien, in denen Sie ein TabbedPane
in Ihrer Anwendung nutzen könnten:
-
Dokumentenansicht: Implementierung eines Dokumentenbetrachters, bei dem jede Registerkarte ein anderes Dokument oder eine andere Datei darstellt. Benutzer können problemlos zwischen offenen Dokumenten wechseln, um effizient multitasking-fähig zu sein.
-
Datenverwaltung: Nutzen Sie ein
TabbedPane
, um Aufgaben zur Datenverwaltung zu organisieren, zum Beispiel:- Verschiedene Datensätze, die in einer Anwendung angezeigt werden
- Verschiedene Benutzerprofile, die in separaten Taps angezeigt werden können
- Unterschiedliche Profile in einem Benutzermanagementsystem
-
Modulwahl: Ein
TabbedPane
kann verschiedene Module oder Abschnitte darstellen. Jede Registerkarte kann die Funktionen eines bestimmten Moduls kapseln, sodass Benutzer sich jeweils auf einen Aspekt der Anwendung konzentrieren können. -
Aufgabenverwaltung: Anwendungen zur Aufgabenverwaltung können ein
TabbedPane
verwenden, um verschiedene Projekte oder Aufgaben darzustellen. Jede Registerkarte könnte einem bestimmten Projekt entsprechen und es Benutzern ermöglichen, Aufgaben separat zu verwalten und zu verfolgen. -
Programmnavigation: In einer Anwendung, die verschiedene Programme ausführen muss, könnte ein
TabbedPane
:- Als Sidebar fungieren, die es ermöglicht, verschiedene Anwendungen oder Programme innerhalb einer einzigen Anwendung auszuführen, ähnlich wie es im
AppLayout
-Template gezeigt wird - Eine obere Leiste erstellen, die einen ähnlichen Zweck erfüllt oder Unteranwendungen innerhalb einer bereits ausgewählten Anwendung darstellt.
- Als Sidebar fungieren, die es ermöglicht, verschiedene Anwendungen oder Programme innerhalb einer einzigen Anwendung auszuführen, ähnlich wie es im
Tabs
Tabs sind UI-Elemente, die zu Tab-Panes hinzugefügt werden können, um zwischen verschiedenen Inhaltsansichten zu organisieren und zu wechseln.
Tabs sind nicht als eigenständige Komponenten gedacht. Sie sollen in Verbindung mit Tab-Panes verwendet werden. Diese Klasse ist kein Component
und sollte nicht als solche verwendet werden.
Eigenschaften
Tabs bestehen aus den folgenden Eigenschaften, die verwendet werden, wenn sie in einem TabbedPane
hinzugefügt werden. Diese Eigenschaften haben Getter und Setter, um die Anpassung innerhalb eines TabbedPane
zu erleichtern.
-
Key(
Object
): Stellt den eindeutigen Bezeichner für denTab
dar. -
Text(
String
): Der Text, der als Titel für denTab
innerhalb desTabbedPane
angezeigt wird. Dieser wird auch als Titel über die MethodengetTitle()
undsetTitle(String title)
bezeichnet. -
Tooltip(
String
): Der Tooltip-Text, der mit demTab
verbunden ist und angezeigt wird, wenn der Cursor über denTab
fährt. -
Enabled(
boolean
): Stellt dar, ob derTab
derzeit aktiviert ist oder nicht. Kann mit der MethodesetEnabled(boolean enabled)
modifiziert werden. -
Closeable(
boolean
): Stellt dar, ob derTab
geschlossen werden kann. Kann mit der MethodesetCloseable(boolean enabled)
modifiziert werden. Dies fügt demTab
einen Schließen-Button hinzu, der vom Benutzer angeklickt werden kann und ein Entfernungsevent auslöst. DieTabbedPane
-Komponente bestimmt, wie die Entfernung behandelt wird. -
Slot(
Component
): Slots bieten flexible Optionen zur Verbesserung der Funktionalität einesTabs
. Sie können Icons, Labels, Ladeanimationen, Löschen/Zurücksetzen-Funktionalitäten, Avatar/Profilbilder und andere nützliche Komponenten in einemTab
verschachteln, um den Benutzern die beabsichtigte Bedeutung weiter zu verdeutlichen. Sie können ein Komponenten imprefix
-Slot einesTabs
während des Aufbaus hinzufügen. Alternativ können Sie die MethodensetPrefixComponent()
undsetSuffixComponent()
verwenden, um verschiedene Komponenten vor und nach der angezeigten Option innerhalb einesTabs
einzufügen.TabbedPane pane = new TabbedPane();
pane.addTab(new Tab("Documents", TablerIcon.create("files")));
Tab
-Manipulation
Es gibt verschiedene Methoden, die es Entwicklern ermöglichen, verschiedene Eigenschaften von Tab
-Elementen innerhalb des TabbedPane
hinzuzufügen, einzufügen, zu entfernen und zu manipulieren.
Hinzufügen eines Tabs
Die Methoden addTab()
und add()
existieren in verschiedenen überladenen Varianten, um Entwicklern Flexibilität beim Hinzufügen neuer Taps zum TabbedPane
zu ermöglichen. Das Hinzufügen eines Tabs
platziert ihn hinter allen zuvor vorhandenen Taps.
addTab(String text)
- Fügt einenTab
zumTabbedPane
mit dem angegebenenString
als Text desTabs
hinzu.addTab(Tab tab)
- Fügt den als Parameter bereitgestelltenTab
demTabbedPane
hinzu.addTab(String text, Component component)
- Fügt einenTab
mit dem angegebenenString
als Text desTabs
hinzu, und die bereitgestellteComponent
wird im Inhaltsbereich desTabbedPane
angezeigt.addTab(Tab tab, Component component)
- Fügt den bereitgestelltenTab
hinzu und zeigt die bereitgestellteComponent
im Inhaltsbereich desTabbedPane
an.add(Component... component)
- Fügt eine oder mehrereComponent
-Instanzen zumTabbedPane
hinzu und erstellt für jede eine diskreteTab
, wobei der Text auf den Namen derComponent
gesetzt wird.
Die Methode add(Component... component)
bestimmt den Namen der übergebenen Component
, indem sie component.getName()
auf dem übergebenen Argument aufruft.
Einfügen eines Tabs
Neben dem Hinzufügen eines Tabs
am Ende der vorhandenen Taps ist es auch möglich, einen neuen an einer bestimmten Position zu erstellen. Dazu gibt es mehrere überladene Versionen der Methode insertTab()
.
insertTab(int index, String text)
- Fügt einenTab
in dasTabbedPane
an der angegebenen Indexposition mit dem angegebenenString
als Text desTabs
ein.insertTab(int index, Tab tab)
- Fügt den als Parameter bereitgestelltenTab
an der angegebenen Indexposition in dasTabbedPane
ein.insertTab(int index, String text, Component component)
- Fügt einenTab
mit dem angegebenenString
als Text desTabs
ein, und die bereitgestellteComponent
wird im Inhaltsbereich desTabbedPane
angezeigt.insertTab(int index, Tab tab, Component component)
- Fügt den bereitgestelltenTab
ein und zeigt die bereitgestellteComponent
im Inhaltsbereich desTabbedPane
an.
Entfernen eines Tabs
Um einen einzelnen Tab
aus dem TabbedPane
zu entfernen, verwenden Sie eine der folgenden Methoden:
removeTab(Tab tab)
- Entfernt einenTab
aus demTabbedPane
, indem die Tab-Instanz übergeben wird, die entfernt werden soll.removeTab(int index)
- Entfernt einenTab
aus demTabbedPane
, indem der Index des zu entfernendenTabs
angegeben wird.
Neben den beiden oben genannten Methoden zum Entfernen eines einzelnen Tabs
kann die Methode removeAllTabs()
verwendet werden, um das TabbedPane
von allen Taps zu leeren.
Die Methoden remove()
und removeAll()
entfernen keine Taps innerhalb der Komponente.
Tab-/Komponenten-Zuordnung
Um die Component
, die für einen bestimmten Tab
angezeigt werden soll, zu ändern, rufen Sie die Methode setComponentFor()
auf und übergeben entweder die Instanz des Tab
oder den Index dieses Taps innerhalb des TabbedPane
.
Wird diese Methode für einen Tab
verwendet, der bereits mit einer Component
assoziiert ist, wird die zuvor assoziierte Component
zerstört.
Konfiguration und Layout
Die Klasse TabbedPane
besteht aus zwei Bestandteilen: einem Tab
, der an einer bestimmten Stelle angezeigt wird, und einer Komponente, die angezeigt wird. Dies kann eine einzelne Komponente oder eine Composite
-Komponente sein, die die Anzeige komplexerer Komponenten im Inhaltsbereich eines Taps ermöglicht.
Wischen
Das TabbedPane
unterstützt das Navigieren durch die verschiedenen Taps durch Wischen. Dies ist ideal für eine mobile Anwendung, kann jedoch auch über eine integrierte Methode zur Unterstützung von Wischbewegungen mit der Maus konfiguriert werden. Sowohl Wischen als auch Wischen mit der Maus sind standardmäßig deaktiviert, können jedoch mit den Methoden setSwipable(boolean)
und setSwipableWithMouse(boolean)
aktiviert werden.
Tab-Platzierung
Die Tabs
innerhalb eines TabbedPane
können an verschiedenen Positionen innerhalb der Komponente basierend auf den Vorlieben der Anwendungsentwickler platziert werden. Die bereitgestellten Optionen werden mithilfe des bereitgestellten Enums gesetzt, das die Werte TOP
, BOTTOM
, LEFT
, RIGHT
oder HIDDEN
hat. Die Standardeinstellung ist TOP
.
Code anzeigen
- Java
Ausrichtung
Neben der Änderung der Platzierung der Tab
-Elemente innerhalb des TabbedPane
ist es auch möglich, zu konfigurieren, wie die Taps innerhalb der Komponente ausgerichtet werden. Standardmäßig ist die Einstellung AUTO
aktiv, was es ermöglicht, dass die Platzierung der Taps deren Ausrichtung bestimmt.
Die anderen Optionen sind START
, END
, CENTER
und STRETCH
. Die ersten drei beschreiben die Position relativ zur Komponente, wobei STRETCH
bewirkt, dass die Taps den verfügbaren Platz ausfüllen.
Code anzeigen
- Java
Rahmen und Aktivitätsanzeige
Das TabbedPane
zeigt standardmäßig einen Rahmen für die darin enthaltenen Taps an, der je nach festgelegter Placement
platziert ist. Dieser Rahmen hilft, den Raum zu visualisieren, den die verschiedenen Taps innerhalb des Panes einnehmen.
Wenn auf einen Tab
geklickt wird, wird standardmäßig ein Aktivitätsindikator in der Nähe dieses Tabs
angezeigt, um hervorzuheben, welcher Tab
derzeit ausgewählt ist.
Beide Optionen können von einem Entwickler angepasst werden, indem sie die boolean-Werte mit den entsprechenden Setter-Methoden ändern. Um zu ändern, ob der Rahmen angezeigt wird oder nicht, kann die Methode setBorderless(boolean)
verwendet werden, wobei true
den Rahmen ausblendet und false
, der Standardwert, den Rahmen anzeigt.
Dieser Rahmen gilt nicht für die Gesamtheit der TabbedPane
-Komponente und dient lediglich als Trennlinie zwischen den Taps und dem Inhalt der Komponente.
Um die Sichtbarkeit des aktiven Indikators zu steuern, kann die Methode setHideActiveIndicator(boolean)
verwendet werden. Das Übergeben von true
an diese Methode blendet den aktiven Indikator unter einem aktiven Tab
aus, während false
, der Standardwert, den Indikator sichtbar hält.
Code anzeigen
- Java
Aktivierungsmodi
Für eine genauere Steuerung darüber, wie sich das TabbedPane
bei der Navigation mit der Tastatur verhält, kann der Activation
-Modus so eingestellt werden, dass das Verhalten der Komponente spezifiziert wird.
-
Auto
: Bei aktivierter Automatik wird beim Navigieren der Taps mit den Pfeiltasten sofort die entsprechende Tab-Komponente angezeigt. -
Manual
: Bei manueller Einstellung erhält der Tab den Fokus, wird jedoch nicht angezeigt, es sei denn, der Benutzer drückt die Leertaste oder Eingabetaste.
Code anzeigen
- Java
Entfernen von Optionen
Einzelne Tab
-Elemente können als schließbar festgelegt werden. Schließbare Taps erhalten einen Schließen-Button, der ein Schließen-Event auslöst, wenn er angeklickt wird. Das TabbedPane
bestimmt, wie dieses Verhalten gehandhabt wird.
-
Manual
: Standardmäßig ist das Entfernen aufMANUAL
festgelegt, was bedeutet, dass das Event ausgelöst wird, aber es liegt am Entwickler, dieses Ereignis auf beliebige Weise zu handhaben. -
Auto
: Alternativ kannAUTO
verwendet werden, was das Ereignis auslöst und auch denTab
von der Komponente entfernt, wodurch die Notwendigkeit entfällt, dieses Verhalten manuell umzusetzen.
Stil
Ausdehnung und Design
Das TabbedPane
bietet integrierte Optionen für Expanse
und Theme
, ähnlich wie andere webforJ-Komponenten. Diese können verwendet werden, um schnell Styling hinzuzufügen, das verschiedene Bedeutungen für den Endbenutzer vermittelt, ohne die Komponente mit CSS zu gestalten.
Code anzeigen
- Java
Beste Praktiken
Die folgenden Praktiken werden empfohlen, um das TabbedPane
innerhalb von Anwendungen zu nutzen:
-
Logische Gruppierung: Verwenden Sie Taps, um verwandte Inhalte logisch zu gruppieren.
- Jede Registerkarte sollte eine bestimmte Kategorie oder Funktionalität innerhalb Ihrer Anwendung darstellen.
- Gruppieren Sie ähnliche oder logische Taps nahe beieinander.
-
Begrenzte Taps: Vermeiden Sie es, Benutzer mit zu vielen Taps zu überfordern. Überlegen Sie sich gegebenenfalls eine hierarchische Struktur oder andere Navigationstechniken für eine saubere Benutzeroberfläche.
-
Klare Bezeichnungen: Beschriften Sie Ihre Taps klar für eine intuitive Nutzung.
- Geben Sie klare und prägnante Bezeichnungen für jede Tap an.
- Bezeichnungen sollten den Inhalt oder Zweck widerspiegeln, sodass Benutzer leicht verstehen, was gemeint ist.
- Verwenden Sie Icons und deutliche Farben, wo dies sinnvoll ist.
-
Tastaturnavigation: Nutzen Sie die Unterstützung der Tastaturnavigation des webforJ
TabbedPane
, um die Interaktion mit demTabbedPane
nahtloser und intuitiver für den Endbenutzer zu gestalten. -
Standard-Tab: Wenn der Standard-Tab nicht an erster Stelle im
TabbedPane
platziert ist, ziehen Sie in Betracht, diesen Tab als Standard für wesentliche oder häufig genutzte Informationen festzulegen.