TabbedPane
In mehreren Abschnitten kann Inhalt unter einem einzelnen TabbedPane organisiert werden, wobei jeder Abschnitt mit einem anklickbaren Tab verknüpft ist. Nur ein Abschnitt ist gleichzeitig sichtbar, und Tabs können Text, Symbole oder beides anzeigen, um den Nutzern die Navigation zu erleichtern.
Usos
Die TabbedPane-Klasse ist ein mächtiges Werkzeug für Entwickler, um mehrere Tabs oder Abschnitte innerhalb einer Benutzeroberfläche zu organisieren und darzustellen. Hier sind einige typische Szenarien, in denen Sie ein TabbedPane in Ihrer Anwendung verwenden könnten:
-
Dokumentenbetrachter: Implementierung eines Dokumentenbetrachters, bei dem jeder Tab ein anderes Dokument oder eine andere Datei darstellt. Benutzer können problemlos zwischen geöffneten Dokumenten wechseln, um effizient multitasking zu betreiben.
-
Datenverwaltung:: Verwendung eines
TabbedPane, um Datenverwaltungsaufgaben zu organisieren, beispielsweise:- Verschiedene Datensätze, die in einer Anwendung angezeigt werden
- Verschiedene Benutzerprofile können in separaten Tabs angezeigt werden
- Verschiedene Profile in einem Benutzermanagementsystem
-
Modulwahl: Ein
TabbedPanekann verschiedene Module oder Abschnitte repräsentieren. Jeder Tab kann die Funktionen eines bestimmten Moduls kapseln und es den Nutzern ermöglichen, sich jeweils auf einen Aspekt der Anwendung zu konzentrieren. -
Aufgabenmanagement: Aufgabenverwaltungsanwendungen können ein
TabbedPaneverwenden, um verschiedene Projekte oder Aufgaben darzustellen. Jeder Tab könnte einem bestimmten Projekt entsprechen, was es den Nutzern ermöglicht, Aufgaben separat zu verwalten und zu verfolgen. -
Programmnavigation: Innerhalb einer Anwendung, die verschiedene Programme ausführen muss, könnte ein
TabbedPane:- Als Seitenleiste dienen, die es ermöglicht, verschiedene Anwendungen oder Programme innerhalb einer einzelnen Anwendung auszuführen, wie es im
AppLayoutTemplate gezeigt wird - Eine obere Leiste erstellen, die einen ähnlichen Zweck erfüllt oder Subanwendungen innerhalb einer bereits ausgewählten Anwendung darstellt.
- Als Seitenleiste dienen, die es ermöglicht, verschiedene Anwendungen oder Programme innerhalb einer einzelnen Anwendung auszuführen, wie es im
Tabs
Tabs sind UI-Elemente, die Tabbed-Panes hinzugefügt werden können, um verschiedene Inhaltsansichten zu organisieren und zwischen ihnen zu wechseln.
Tabs sind nicht als eigenständige Komponenten gedacht. Sie sind dafür gedacht, in Verbindung mit Tabbed-Panes verwendet zu werden. Diese Klasse ist kein Component und sollte nicht als solche verwendet werden.
Eigenschaften
Tabs bestehen aus den folgenden Eigenschaften, die beim Hinzufügen in ein TabbedPane verwendet werden. Diese Eigenschaften haben Getter und Setter, um die Anpassung innerhalb eines TabbedPane zu erleichtern.
-
Schlüssel(
Object): Stellt den eindeutigen Identifikator für denTabdar. -
Text(
String): Der Text, der als Titel für denTabimTabbedPaneangezeigt wird. Dies wird auch als Titel über die MethodengetTitle()undsetTitle(String title)bezeichnet. -
Tooltip(
String): Der Tooltip-Text, der mit demTabassoziiert ist und angezeigt wird, wenn der Cursor über denTabschwebt. -
Aktiviert(
boolean): Stellt dar, ob derTabderzeit aktiviert ist oder nicht. Kann mit der MethodesetEnabled(boolean enabled)geändert werden. -
Schließbar(
boolean): Stellt dar, ob derTabgeschlossen werden kann. Kann mit der MethodesetCloseable(boolean enabled)geändert werden. Dadurch wird eine Schaltfläche zum Schließen auf demTabhinzugefügt, die vom Benutzer angeklickt werden kann und ein Entfernungsevent auslöst. DieTabbedPane-Komponente bestimmt, wie mit der Entfernung umgegangen wird. -
Slot(
Component): Slots bieten flexible Optionen zur Verbesserung der Leistungsfähigkeit einesTabs. Sie können Symbole, Beschriftungen, Ladeanimationen, Löschen/Zurücksetzen-Funktionen, Avatare/Profilbilder und andere nützliche Komponenten innerhalb einesTabsverschachteln, um die beabsichtigte Bedeutung für die Nutzer weiter zu verdeutlichen. Sie können eine Komponente imprefix-Slot einesTabswährend der Konstruktion hinzufügen. Alternativ können Sie die MethodensetPrefixComponent()undsetSuffixComponent()verwenden, um verschiedene Komponenten vor und nach der angezeigten Option innerhalb einesTabseinzufügen.TabbedPane pane = new TabbedPane();pane.addTab(new Tab("Documents", TablerIcon.create("files")));
Tab-Manipulation
Es gibt verschiedene Methoden, die Entwicklern ermöglichen, Tab-Elemente innerhalb des TabbedPane hinzuzufügen, einzufügen, zu entfernen und verschiedene Eigenschaften zu manipulieren.
Hinzufügen eines Tabs
Die Methoden addTab() und add() existieren in verschiedenen überladenen Kapazitäten, um Entwicklern Flexibilität beim Hinzufügen neuer Tabs zum TabbedPane zu ermöglichen. Das Hinzufügen eines Tabs platziert ihn nach allen zuvor bestehenden Tabs.
addTab(String text)- Fügt demTabbedPaneeinenTabmit dem angegebenenStringals Text desTabshinzu.addTab(Tab tab)- Fügt den als Parameter übergebenenTabzumTabbedPanehinzu.addTab(String text, Component component)- Fügt einenTabmit dem gegebenenStringals Text desTabshinzu, und zeigt die bereitgestellteKomponenteim Inhaltsbereich desTabbedPanean.addTab(Tab tab, Component component)- Fügt den bereitgestelltenTabhinzu und zeigt die bereitgestellteKomponenteim Inhaltsbereich desTabbedPanean.add(Component... component)- Fügt eine oder mehrereComponent-Instanzen demTabbedPanehinzu und erstellt für jede einen eigenständigenTab, wobei der Text auf den Namen derKomponentegesetzt wird.
Die Methode add(Component... component) bestimmt den Namen der übergebenen Komponente, indem sie component.getName() für das übergebene Argument aufruft.
Einfügen eines Tabs
Zusätzlich zum Hinzufügen eines Tabs am Ende der bestehenden Tabs 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 einenTaban die angegebene Indexposition imTabbedPanemit dem angegebenenStringals Text desTabsein.insertTab(int index, Tab tab)- Fügt den als Parameter übergebenenTaban der angegebenen Indexposition zumTabbedPaneein.insertTab(int index, String text, Component component)- Fügt einenTabmit dem angegebenenStringals Text desTabsein, und zeigt die bereitgestellteKomponenteim Inhaltsbereich desTabbedPanean.insertTab(int index, Tab tab, Component component)- Fügt den bereitgestelltenTabhinzu und zeigt die bereitgestellteKomponenteim Inhaltsbereich desTabbedPanean.
Entfernen eines Tabs
Um einen einzelnen Tab aus dem TabbedPane zu entfernen, verwenden Sie eine der folgenden Methoden:
removeTab(Tab tab)- Entfernt einenTabaus demTabbedPane, indem die zu entfernende Tab-Instanz übergeben wird.removeTab(int index)- Entfernt einenTabaus demTabbedPane, indem der Index des zu entfernendenTabsangegeben wird.
Neben den beiden oben genannten Methoden zur Entfernung eines einzelnen Tabs, verwenden Sie die Methode removeAllTabs(), um das TabbedPane von allen Tabs zu befreien.
Die Methoden remove() und removeAll() entfernen keine Tabs innerhalb der Komponente.
Tab/Kompontenten-Assoziation
Um die Komponente zu ändern, die für einen bestimmten Tab angezeigt werden soll, rufen Sie die Methode setComponentFor() auf und übergeben entweder die Instanz des Tabs oder den Index dieses Tabs im TabbedPane.
Wenn diese Methode bei einem Tab verwendet wird, der bereits mit einer Komponente assoziiert ist, wird die zuvor assoziierte Komponente zerstört.
Konfiguration und Layout
Die TabbedPane-Klasse hat zwei Bestandteile: einen Tab, der an einem bestimmten Ort angezeigt wird, und eine Komponente, die angezeigt werden soll. Dies kann eine einzelne Komponente oder eine Composite Komponente sein, die die Anzeige komplexerer Komponenten innerhalb des Inhaltsbereichs eines Tabs ermöglicht.
Wischen
Das TabbedPane unterstützt die Navigation durch die verschiedenen Tabs über Wischen. Dies ist ideal für eine mobile Anwendung, kann aber auch über eine integrierte Methode konfiguriert werden, um das Wischen mit der Maus zu unterstützen. Sowohl Wischen als auch Wischen mit der Maus sind standardmäßig deaktiviert, können aber mit den Methoden setSwipable(boolean) und setSwipableWithMouse(boolean) aktiviert werden.
Tab-Platzierung
Die Tabs innerhalb eines TabbedPane können je nach Vorliebe der Anwendungsentwickler an verschiedenen Positionen innerhalb der Komponente platziert werden. Bereitgestellte Optionen werden unter Verwendung des bereitgestellten Enumerationswerts gesetzt, der die Werte TOP, BOTTOM, LEFT, RIGHT oder HIDDEN hat. Die Standardeinstellung ist TOP.
Code anzeigen
- TabbedPanePlacementView.java
Ausrichtung
Zusätzlich zur Änderung der Platzierung der Tab-Elemente im TabbedPane ist es auch möglich, zu konfigurieren, wie die Tabs innerhalb der Komponente ausgerichtet werden. Standardmäßig ist die Einstellung AUTO aktiv, die es ermöglicht, dass die Platzierung der Tabs ihre Ausrichtung bestimmt.
Die anderen Optionen sind START, END, CENTER und STRETCH. Die ersten drei beschreiben die Position relativ zur Komponente, wobei STRETCH die Tabs den verfügbaren Raum ausfüllen lässt.
Code anzeigen
- TabbedPaneAlignmentView.java
Rahmen- und Aktivitätsanzeige
Das TabbedPane zeigt standardmäßig einen Rahmen für die Tabs innerhalb davon an, der je nach festgelegter Platzierung platziert ist. Dieser Rahmen hilft, den Platz zu visualisieren, den die verschiedenen Tabs innerhalb des Panes einnehmen.
Wenn ein Tab angeklickt wird, wird standardmäßig ein Aktivitätsindikator in der Nähe dieses Tabs angezeigt, um zu helfen, den aktuell ausgewählten Tab zu kennzeichnen.
Beide Optionen können von einem Entwickler angepasst werden, indem die booleschen Werte mithilfe der entsprechenden Setter-Methoden geändert werden. Um festzulegen, ob der Rahmen angezeigt werden soll oder nicht, kann die Methode setBorderless(boolean) verwendet werden, wobei true den Rahmen verbirgt und false, dem Standardwert, den Rahmen anzeigt.
Dieser Rahmen gilt nicht für die Gesamtheit der TabbedPane-Komponente und dient nur als Trennlinie zwischen den Tabs und dem Inhalt der Komponente.
Um die Sichtbarkeit des aktiven Indikators festzulegen, kann die Methode setHideActiveIndicator(boolean) verwendet werden. Das Übergeben von true an diese Methode verbirgt den aktiven Indikator unter einem aktiven Tab, während false, der Standardwert, den Indikator sichtbar hält.
Code anzeigen
- TabbedPaneBorderView.java
Aktivierungsmodi
Für mehr Kontrolle darüber, wie das TabbedPane beim Navigieren mit der Tastatur funktioniert, kann der Aktivierungs-Modus festgelegt werden, um anzugeben, wie sich die Komponente verhalten soll.
-
Automatisch: Wenn auf automatisch eingestellt, werden beim Navigieren mit den Pfeiltasten die entsprechenden Tab-Komponenten sofort angezeigt. -
Manuell: Wenn auf manuell eingestellt, erhält der Tab den Fokus, wird aber erst angezeigt, wenn der Benutzer Leertaste oder Eingabetaste drückt.
Code anzeigen
- TabbedPaneActivationView.java
Entfernungsoptionen
Einzelne Tab-Elemente können als schließbar festgelegt werden. Schließbare Tabs haben eine Schaltfläche zum Schließen, die zum Tab hinzugefügt wird und ein Schließereignis auslöst, wenn sie angeklickt wird. Das TabbedPane bestimmt, wie dieses Verhalten behandelt wird.
-
Manuell: Standardmäßig ist die Entfernung aufMANUALfestgelegt, was bedeutet, dass das Ereignis ausgelöst wird, es jedoch dem Entwickler überlassen bleibt, dieses Ereignis auf beliebige Weise zu behandeln. -
Automatisch: Alternativ kannAUTOverwendet werden, was das Ereignis auslöst und auch denTabautomatisch von der Komponente entfernt, sodass der Entwickler dieses Verhalten nicht manuell implementieren muss.
Segmentsteuerung 26.00
Das TabbedPane kann als Segmentsteuerung gerendert werden, indem die segments-Eigenschaft mit setSegment(true) aktiviert wird. In diesem Modus werden Tabs mit einem gleitenden Pillenindikator angezeigt, der die aktive Auswahl hervorhebt und eine kompakte Alternative zur standardmäßigen Tab-basierten Benutzeroberfläche bietet.
Code anzeigen
- TabbedPaneSegmentView.java
Styling
Ausdehnung und Thema
Das TabbedPane verfügt über integrierte Expanse- und Theme-Optionen, ähnlich wie andere webforJ-Komponenten. Diese können verwendet werden, um schnell Styling hinzuzufügen, das den Endbenutzern verschiedene Bedeutungen vermittelt, ohne die Komponente mit CSS zu stylen.
Code anzeigen
- TabbedPaneExpanseThemeView.java
Best Practices
Die folgenden Praktiken werden empfohlen, um das TabbedPane innerhalb von Anwendungen zu verwenden:
-
Logische Gruppierung: Verwenden Sie Tabs, um verwandte Inhalte logisch zu gruppieren
- Jeder Tab sollte eine bestimmte Kategorie oder Funktionalität innerhalb Ihrer Anwendung repräsentieren
- Gruppieren Sie ähnliche oder logische Tabs nahe beieinander
-
Begrenzte Tabs: Vermeiden Sie es, Benutzer mit zu vielen Tabs zu überfordern. Erwägen Sie die Verwendung einer hierarchischen Struktur oder anderer Navigationsmuster, wenn dies für eine saubere Oberfläche anwendbar ist.
-
Klare Beschriftungen: Beschriften Sie Ihre Tabs klar, um eine intuitive Verwendung zu gewährleisten
- Geben Sie klare und prägnante Beschriftungen für jeden Tab an
- Beschriftungen sollten den Inhalt oder Zweck widerspiegeln, damit die Benutzer es leicht verstehen können
- Nutzen Sie Symbole und unterschiedliche Farben, wo es angebracht ist
-
Tastaturnavigation: Verwenden Sie die Tastaturnavigationsunterstützung von webforJ's
TabbedPane, um die Interaktion mit demTabbedPanefür den Endbenutzer nahtloser und intuitiver zu gestalten. -
Standard-Tab: Wenn der Standard-Tab nicht am Anfang des
TabbedPaneplatziert ist, ziehen Sie in Betracht, diesen Tab als Standard für wichtige oder häufig verwendete Informationen festzulegen.