TabbedPane
Mehrere Inhaltsbereiche können unter einem einzelnen TabbedPane organisiert werden, wobei jeder Bereich mit einem anklickbaren Tab verbunden ist. Immer nur ein Bereich ist gleichzeitig sichtbar, und Tabs können Text, Symbole oder beides anzeigen, um den Benutzern die Navigation zu erleichtern.
Verwendungen
Die Klasse TabbedPane bietet Entwicklern ein leistungsstarkes Werkzeug zur Organisation und Präsentation mehrerer Tabs oder Abschnitte innerhalb einer Benutzeroberfläche. Hier sind einige typische Szenarien, in denen Sie ein TabbedPane in Ihrer App verwenden könnten:
-
Dokumentenanzeige: Implementierung eines Dokumentenbetrachters, bei dem jeder Tab ein anderes Dokument oder eine Datei darstellt. Benutzer können leicht zwischen geöffneten Dokumenten wechseln, um effizient Multitasking zu betreiben.
-
Datenverwaltung: Verwenden Sie ein
TabbedPane, um Datenverwaltungsaufgaben zu organisieren, zum Beispiel:- Verschiedene Datensätze, die in einer App angezeigt werden
- Verschiedene Benutzerprofile können innerhalb separater Tabs dargestellt werden
- Verschiedene Profile in einem Benutzermanagementsystem
-
Modulauswahl: Ein
TabbedPanekann verschiedene Module oder Abschnitte darstellen. Jeder Tab kann die Funktionen eines bestimmten Moduls kapseln, wodurch Benutzer sich jeweils auf einen Aspekt der App konzentrieren können. -
Aufgabenverwaltung: Aufgabenverwaltungs-Apps können ein
TabbedPaneverwenden, um verschiedene Projekte oder Aufgaben darzustellen. Jeder Tab könnte einem bestimmten Projekt entsprechen, sodass Benutzer Aufgaben separat verwalten und verfolgen können. -
Programmnavigation: Innerhalb einer App, die verschiedene Programme ausführen muss, könnte ein
TabbedPane:- Als Seitenleiste dienen, die es ermöglicht, verschiedene Apps oder Programme innerhalb einer einzigen App auszuführen, ähnlich wie im
AppLayoutTemplate gezeigt - Eine obere Leiste erstellen, die einen ähnlichen Zweck erfüllen oder Unteranwendungen innerhalb einer bereits ausgewählten App darstellen kann
- Als Seitenleiste dienen, die es ermöglicht, verschiedene Apps oder Programme innerhalb einer einzigen App auszuführen, ähnlich wie im
Tabs dwc-tab
Tabs sind UI-Elemente, die zu Tab-Bereichen hinzugefügt werden können, um zwischen verschiedenen Inhaltsansichten zu organisieren und zu wechseln.
Tabs sind nicht als eigenständige Komponenten gedacht. Sie sollten in Verbindung mit Tab-Bereichen 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 verfügen über Getter und Setter, um die Anpassung innerhalb eines TabbedPane zu erleichtern.
-
Text(
String): Der Text, der als Titel für denTabinnerhalb desTabbedPaneangezeigt wird. Dies wird auch als Titel über die MethodengetTitle()undsetTitle(String title)bezeichnet. -
Tooltip(
String): Der mit demTabverbundene Tooltip-Text, der angezeigt wird, wenn der Cursor über denTabschwebt. -
Enabled(
boolean): Repräsentiert, ob derTabaktiviert ist oder nicht. Kann mit der MethodesetEnabled(boolean enabled)modifiziert werden. -
Closable(
boolean): Repräsentiert, ob derTabgeschlossen werden kann. Kann mit der MethodesetClosable(boolean closable)modifiziert werden. Dies fügt einen Schließen-Button zumTabhinzu, der angeklickt werden kann und ein Entfernevent auslöst. DieTabbedPane-Komponente bestimmt, wie das Entfernen gehandhabt wird. -
Slot(
Component): Slots bieten flexible Optionen zur Verbesserung der Funktionalität einesTabs. Sie können Symbole, Beschriftungen, Ladeanimationen, Löschen/Zurücksetzen-Funktionen, Avatar-/Profilbilder und andere nützliche Komponenten innerhalb einesTabseinfügen, um den Benutzern weitergehende Bedeutung zu vermitteln. Sie können einen Bestandteil zumprefix-Slot einesTabswährend des Aufbaus 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("Dokumente", 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 Varianten, um Entwicklern Flexibilität beim Hinzufügen neuer Tabs zum TabbedPane zu bieten. Das Hinzufügen eines Tabs erfolgt nach allen zuvor bestehenden Tabs.
addTab(String text): Fügt einenTabzumTabbedPanemit dem angegebenenStringals Text desTabshinzu.addTab(Tab tab): Fügt denTab, der als Parameter bereitgestellt wird, zumTabbedPanehinzu.addTab(String text, Component component): Fügt einenTabmit dem gegebenenStringals Text desTabshinzu, und die bereitgestellteComponentwird im Inhaltsbereich desTabbedPaneangezeigt.addTab(Tab tab, Component component): Fügt den bereitgestelltenTabhinzu und zeigt die bereitgestellteComponentim Inhaltsbereich desTabbedPanean.add(Component... component): Fügt eine oder mehrereComponent-Instanzen zumTabbedPanehinzu, wobei für jede eine separateTaberstellt wird, wobei der Text auf den Namen derComponentgesetzt wird.
Die Methode add(Component... component) bestimmt den Namen der übergebenen Component, indem component.getName() auf das übergebene Argument aufgerufen wird.
Einfügen eines Tabs
Neben dem 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 insertTab().
insertTab(int index, String text): Fügt einenTaban der angegebenen Indexposition imTabbedPanemit dem angegebenenStringals Text desTabsein.insertTab(int index, Tab tab): Fügt den als Parameter übergebenenTaban der angegebenen Indexposition imTabbedPaneein.insertTab(int index, String text, Component component): Fügt einenTabmit dem gegebenenStringals Text desTabsein, und die bereitgestellteComponentwird im Inhaltsbereich desTabbedPaneangezeigt.insertTab(int index, Tab tab, Component component): Fügt den bereitgestelltenTabein und zeigt die bereitgestellteComponentim 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 entfernendeTab-Instanz übergeben wird.removeTab(int index): Entfernt einenTabaus demTabbedPane, indem der Index des zu entfernendenTabsangegeben wird.
Neben den beiden oben genannten Methoden zum Entfernen eines einzelnen Tabs kann die Methode removeAllTabs() verwendet werden, um das TabbedPane von allen Tabs zu leeren.
Die Methoden remove() und removeAll() entfernen keine Tabs 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 Tabs oder den Index dieses Tabs innerhalb des TabbedPane.
Wenn diese Methode bei einem Tab verwendet wird, der bereits mit einer Component assoziiert ist, wird die zuvor assoziierte Component zerstört.
Konfiguration und Layout
Die Klasse TabbedPane hat zwei wesentliche Teile: einen Tab, der an einem bestimmten Ort angezeigt wird, und eine anzuzeigende Komponente. Dies kann eine einzelne Komponente oder eine Composite Komponente sein, die die Anzeige komplexerer Komponenten im Inhaltsbereich eines Tabs ermöglicht.
Wischen
Das TabbedPane unterstützt die Navigation über verschiedene Tabs durch Wischen. Dies ist ideal für eine mobile App, kann jedoch 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 jedoch mit den Methoden setSwipeable(boolean) und setSwipeWithMouse(boolean) respectively aktiviert werden.
Tab-Platzierung
Die Tabs innerhalb eines TabbedPane können in verschiedenen Positionen innerhalb der Komponente basierend auf den Vorlieben der Anwendungsentwickler platziert werden. Die verfügbaren Optionen werden mit dem bereitgestellten Enum eingestellt, das die Werte TOP, BOTTOM, LEFT, RIGHT oder HIDDEN enthält. Die Standardeinstellung ist TOP.
Ausrichtung
Neben der Änderung der Platzierung der Tab-Elemente innerhalb des TabbedPane ist es auch möglich, zu konfigurieren, wie die Tabs innerhalb der Komponente ausgerichtet werden. Standardmäßig ist die Einstellung AUTO aktiv, was es der Platzierung der Tabs ermöglicht, ihre Ausrichtung zu diktieren.
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.
Rahmen und Aktivitätsindikator
Das TabbedPane hat standardmäßig einen Rahmen, der für die darin enthaltenen Tabs angezeigt wird, und dieser wird abhängig von der festgelegten Platzierung platziert. Dieser Rahmen hilft, den Raum zu visualisieren, den die verschiedenen Tabs innerhalb der Pane einnehmen.
Wenn ein Tab angeklickt wird, wird standardmäßig ein Aktivitätsindikator in der Nähe dieses Tabs angezeigt, um zu verdeutlichen, welcher der aktuell ausgewählte Tab ist.
Beide Optionen können angepasst werden, indem die booleschen Werte mithilfe der entsprechenden Setter-Methoden geändert werden. Um festzulegen, ob der Rahmen angezeigt wird oder nicht, kann die Methode setBorderless(boolean) verwendet werden, wobei true den Rahmen versteckt 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 Tabs und dem Inhalt der Komponente.
Um die Sichtbarkeit des aktiven Indikators festzulegen, kann die Methode setHideActiveIndicator(boolean) verwendet werden. Durch das Übergeben von true an diese Methode wird der aktive Indikator unter einem aktiven Tab verborgen, während false, der Standardwert, den Indikator sichtbar hält.
Aktivierungsmodi
Für eine genauere Steuerung darüber, wie das TabbedPane mit der Tastaturnavigation umgeht, kann der Aktivierungs-Modus festgelegt werden, um anzugeben, wie sich die Komponente verhalten soll.
-
Auto: Wenn auf Auto gesetzt, wird beim Navigieren durch die Tabs mit den Pfeiltasten sofort die entsprechende Tab-Komponente angezeigt. -
Manuell: Wenn auf manuell gesetzt, erhält der Tab den Fokus, wird jedoch nicht angezeigt, bis der Benutzer die Leertaste oder Eingabetaste drückt.
Entfernen-Optionen
Einzelne Tab-Elemente können so eingestellt werden, dass sie schließbar sind. Schließbare Tabs erhalten einen Schließen-Button, der zur Tab hinzugefügt wird, was ein Schließen-Ereignis auslöst, wenn er angeklickt wird. Das TabbedPane bestimmt, wie dieses Verhalten gehandhabt wird.
-
Manuell: Standardmäßig ist das Entfernen aufMANUALgesetzt, was bedeutet, dass das Ereignis ausgelöst wird, aber es liegt am Entwickler, dieses Ereignis auf die von ihm gewählte Weise zu verwalten. -
Auto: Alternativ kannAUTOverwendet werden, das das Ereignis auslöst und denTabauch für den Entwickler aus der Komponente entfernt, wodurch die Notwendigkeit entfällt, dieses Verhalten manuell zu implementieren.
Segmentsteuerung 26.00
Das TabbedPane kann als Segmentsteuerelement dargestellt werden, indem die segment-Eigenschaft mit setSegment(true) aktiviert wird. In diesem Modus werden die Tabs mit einem gleitenden Pillenindikator angezeigt, der die aktive Auswahl hervorhebt und eine kompakte Alternative zur standardmäßigen Tab-Oberfläche bietet.
Styling
Expanse und Thema
Das TabbedPane verfügt über integrierte Expanse- und Theme-Optionen, die den anderen webforJ-Komponenten ähnlich sind. Diese können verwendet werden, um schnell Styling hinzuzufügen, das den Endbenutzern verschiedene Bedeutungen vermittelt, ohne die Komponente mit CSS zu stylen.
Beste Praktiken
Die folgenden Praktiken werden für die Verwendung des TabbedPane innerhalb von Anwendungen empfohlen:
-
Logische Gruppierung: Verwenden Sie Tabs, um verwandte Inhalte logisch zu gruppieren:
- Jeder Tab sollte eine separate Kategorie oder Funktionalität innerhalb Ihrer App darstellen.
- Gruppieren Sie ähnliche oder logische Tabs nahe beieinander.
-
Begrenzte Tabs: Vermeiden Sie es, Benutzer mit zu vielen Tabs zu überfordern. Ziehen Sie in Betracht, eine hierarchische Struktur oder andere Navigationsmuster zu verwenden, wo dies anwendbar ist, für eine saubere Benutzeroberfläche.
-
Klare Beschriftungen: Beschriften Sie Ihre Tabs klar für eine intuitive Verwendung:
- Geben Sie klare und prägnante Beschriftungen für jeden Tab an.
- Beschriftungen sollten den Inhalt oder Zweck widerspiegeln und es Benutzern erleichtern, sie zu verstehen.
- Verwenden Sie Symbole und unterschiedliche Farben, wo dies anwendbar ist.
-
Tastaturnavigation: Verwenden Sie die Tastaturnavigation des
TabbedPanevon webforJ, um die Interaktion mit demTabbedPanefür den Endbenutzer nahtloser und intuitiver zu gestalten. -
Standard-Tab: Wenn der Standard-Tab nicht am Anfang des
TabbedPaneplatziert wird, ziehen Sie in Betracht, diesen Tab als Standard für wesentliche oder häufig verwendete Informationen festzulegen.