TabbedPane
Meerdere secties van inhoud kunnen worden georganiseerd onder een enkele TabbedPane, waarbij elke sectie is gekoppeld aan een klikbare Tab. Slechts één sectie is op een gegeven moment zichtbaar, en tabs kunnen tekst, pictogrammen of beide weergeven om gebruikers te helpen tussen hen te navigeren.
Gebruik
De TabbedPane klasse biedt ontwikkelaars een krachtig hulpmiddel voor het organiseren en presenteren van meerdere tabs of secties binnen een UI. Hier zijn enkele typische scenario's waarin je een TabbedPane in je app zou kunnen gebruiken:
-
Documentviewer: Implementatie van een documentviewer waarbij elke tab een ander document of bestand vertegenwoordigt. Gebruikers kunnen eenvoudig schakelen tussen open documenten voor efficiënte multitasking.
-
Gegevensbeheer: Gebruik een
TabbedPaneom gegevensbeheertaken te organiseren, bijvoorbeeld:- Verschillende datasets die in een app moeten worden weergegeven
- Diverse gebruikersprofielen kunnen binnen aparte tabs worden weergegeven
- Verschillende profielen in een gebruikersbeheersysteem
-
Moduleselectie: Een
TabbedPanekan verschillende modules of secties vertegenwoordigen. Elke tab kan de functionaliteiten van een specifieke module encapsuleren, zodat gebruikers zich op één aspect van de app tegelijk kunnen concentreren. -
Taakbeheer: Taakbeheer-apps kunnen een
TabbedPanegebruiken om verschillende projecten of taken weer te geven. Elke tab kan overeenkomen met een specifiek project, zodat gebruikers taken apart kunnen beheren en volgen. -
Programmanavigatie: Binnen een app die verschillende programma's moet uitvoeren, kan een
TabbedPane:- Dienen als een zijbalk waarin verschillende apps of programma's binnen een enkele app kunnen worden uitgevoerd, zoals weergegeven in de
AppLayoutsjabloon - Een bovenste balk creëren die hetzelfde doel kan dienen, of sub-applicaties kan vertegenwoordigen binnen een al geselecteerde app
- Dienen als een zijbalk waarin verschillende apps of programma's binnen een enkele app kunnen worden uitgevoerd, zoals weergegeven in de
Tabs
Tabs zijn UI-elementen die aan tabbladen kunnen worden toegevoegd om verschillende inhoudsweergaven te organiseren en te wisselen.
Tabs zijn niet bedoeld om als zelfstandige componenten te worden gebruikt. Ze zijn bedoeld om samen met tabbladen te worden gebruikt. Deze klasse is geen Component en moet niet als zodanig worden gebruikt.
Eigenschappen
Tabs zijn samengesteld uit de volgende eigenschappen, die worden gebruikt bij het toevoegen ervan in een TabbedPane. Deze eigenschappen hebben getters en setters om aanpassing binnen een TabbedPane te vergemakkelijken.
-
Tekst(
String): De tekst die wordt weergegeven als een titel voor deTabbinnen deTabbedPane. Dit wordt ook wel de titel genoemd via degetTitle()ensetTitle(String title)methoden. -
Tooltip(
String): De tooltiptekst die aan deTabis gekoppeld, die wordt weergegeven wanneer de cursor boven deTabzweeft. -
Ingeschakeld(
boolean): Geeft aan of deTabis ingeschakeld of niet. Kan worden gewijzigd met desetEnabled(boolean enabled)methode. -
Sluitbaar(
boolean): Geeft aan of deTabkan worden gesloten. Kan worden gewijzigd met desetClosable(boolean closable)methode. Dit voegt een sluitknop toe op deTabdie kan worden aangeklikt en een verwijder gebeurtenis activeert. DeTabbedPanecomponent bepaalt hoe om te gaan met de verwijdering. -
Slot(
Component): Slots bieden flexibele opties om de mogelijkheden van eenTabte verbeteren. Je kunt pictogrammen, labels, laadsnelheden, wissen/resetten, avatar/profielafbeeldingen en andere nuttige componenten binnen eenTabnestelen om de bedoeling voor gebruikers verder te verduidelijken. Je kunt een component aan deprefixslot van eenTabtoevoegen tijdens de constructie. Alternatief kun je de methodensetPrefixComponent()ensetSuffixComponent()gebruiken om verschillende componenten voor en na de weergegeven optie binnen eenTabin te voegen.TabbedPane pane = new TabbedPane();pane.addTab(new Tab("Documenten", TablerIcon.create("bestanden")));
Tab manipulatie
Er zijn verschillende methoden beschikbaar waarmee ontwikkelaars verschillende eigenschappen van Tab elementen binnen de TabbedPane kunnen toevoegen, invoegen, verwijderen en manipuleren.
Een Tab toevoegen
De methoden addTab() en add() bestaan in verschillende overbelaste versies om ontwikkelaars de flexibiliteit te geven om nieuwe tabs toe te voegen aan de TabbedPane. Het toevoegen van een Tab plaatst deze achter eventuele eerder bestaande tabs.
addTab(String text): voegt eenTabtoe aan deTabbedPanemet de opgegevenStringals de tekst van deTab.addTab(Tab tab): voegt deTabdie als parameter is opgegeven toe aan deTabbedPane.addTab(String text, Component component): voegt eenTabtoe met de gegevenStringals de tekst van deTab, en de opgegevenComponentdie in het inhoudsgedeelte van deTabbedPanewordt weergegeven.addTab(Tab tab, Component component): voegt de opgegevenTabtoe en toont de opgegevenComponentin het inhoudsgedeelte van deTabbedPane.add(Component... component): voegt een of meerComponentinstanties toe aan deTabbedPane, en creëert een discreteTabvoor elk, met de tekst ingesteld op de naam van deComponent.
De add(Component... component) bepaalt de naam van de doorgegeven Component door component.getName() aan te roepen op het doorgegeven argument.
Een Tab invoegen
Naast het toevoegen van een Tab aan het einde van de bestaande tabs, is het ook mogelijk om een nieuwe te creëren op een aangewezen positie. Dit kan met behulp van verschillende overbelaste versies van de insertTab().
insertTab(int index, String text): voegt eenTabtoe aan deTabbedPaneop de gegeven index met de opgegevenStringals de tekst van deTab.insertTab(int index, Tab tab): voegt deTabdie als parameter is opgegeven toe aan deTabbedPaneop de opgegeven index.insertTab(int index, String text, Component component): voegt eenTabtoe met de opgegevenStringals de tekst van deTab, en de opgegevenComponentdie in het inhoudsgedeelte van deTabbedPanewordt weergegeven.insertTab(int index, Tab tab, Component component): voegt de opgegevenTabtoe en toont de opgegevenComponentin het inhoudsgedeelte van deTabbedPane.
Een Tab verwijderen
Om een enkele Tab uit de TabbedPane te verwijderen, gebruik je een van de volgende methoden:
removeTab(Tab tab): verwijdert eenTabuit deTabbedPanedoor de Tab-instantie door te geven die moet worden verwijderd.removeTab(int index): verwijdert eenTabuit deTabbedPanedoor de index van de te verwijderenTabop te geven.
Naast de twee bovenstaande methoden voor het verwijderen van een enkele Tab, gebruik de removeAllTabs() methode om de TabbedPane van alle tabs te ontdoen.
De methoden remove() en removeAll() verwijderen geen tabs binnen de component.
Tab/Component associatie
Om de Component die moet worden weergegeven voor een gegeven Tab te wijzigen, roep je de setComponentFor() methode aan en geef je de instantie van de Tab, of de index van die Tab binnen de TabbedPane door.
Als deze methode wordt gebruikt op een Tab die al is geassocieerd met een Component, wordt de eerder geassocieerde Component vernietigd.
Configuratie en lay-out
De TabbedPane klasse heeft twee samenstellende delen: een Tab die op een specifieke locatie wordt weergegeven, en een component die wordt weergegeven. Dit kan een enkele component zijn, of een Composite component, waardoor het mogelijk is om complexere componenten binnen een tab's inhoudsgedeelte weer te geven.
Veegbeweging
De TabbedPane ondersteunt navigeren door de verschillende tabs via veegbewegingen. Dit is ideaal voor een mobiele app, maar kan ook worden geconfigureerd via een ingebouwde methode om muisveegbewegingen te ondersteunen. Zowel veegbewegingen als muisveegbewegingen zijn standaard uitgeschakeld, maar kunnen worden ingeschakeld met de methoden setSwipeable(boolean) en setSwipeWithMouse(boolean).
Tab plaatsing
De Tabs binnen een TabbedPane kunnen op verschillende posities binnen de component worden geplaatst op basis van de voorkeur van de app-ontwikkelaar. De beschikbare opties worden ingesteld met behulp van de gegeven enum, die de waarden TOP, BOTTOM, LEFT, RIGHT of HIDDEN heeft. De standaard instelling is TOP.
Toon Code
- TabbedPanePlacementView.java
Uitlijning
Naast het wijzigen van de plaatsing van de Tab elementen binnen de TabbedPane, is het ook mogelijk om te configureren hoe de tabs binnen de component zullen uitlijnen. Standaard is de instelling AUTO van kracht, wat het mogelijk maakt om de plaatsing van de tabs hun uitlijning te bepalen.
De andere opties zijn START, END, CENTER en STRETCH. De eerste drie beschrijven de positie ten opzichte van de component, waarbij STRETCH de tabs de beschikbare ruimte laat vullen.
Toon Code
- TabbedPaneAlignmentView.java
Rand en activiteitsindicator
De TabbedPane zal standaard een rand voor de tabs binnenin weergeven, afhankelijk van welke Plaatsing is ingesteld. Deze rand helpt de ruimte te visualiseren die de verschillende tabs binnen het paneel innemen.
Wanneer een Tab wordt aangeklikt, wordt er standaard een activiteitsindicator vlakbij die Tab weergegeven om te helpen benadrukken welke de momenteel geselecteerde Tab is.
Beide opties kunnen worden aangepast door de booleaanse waarden te wijzigen met behulp van de juiste setter-methodes. Om te wijzigen of de rand wordt weergegeven, kan de methode setBorderless(boolean) worden gebruikt, waarbij true de rand verbergt, en false, de standaardwaarde, de rand weergeeft.
Deze rand geldt niet voor de gehele TabbedPane component, en dient enkel als een scheidingslijn tussen de tabs en de inhoud van de component.
Om de zichtbaarheid van de actieve indicator in te stellen, kan de methode setHideActiveIndicator(boolean) worden gebruikt. Het doorgeven van true aan deze methode verbergt de actieve indicator onder een actieve Tab, terwijl false, de standaard, de indicator zichtbaar houdt.
Toon Code
- TabbedPaneBorderView.java
Activatiemodi
Voor meer gedetailleerde controle over hoe de TabbedPane zich gedraagt met toetsenbordnavigatie, kan de Activatie modus worden ingesteld om te specificeren hoe de component moet reageren.
-
Auto: wanneer ingesteld op automatisch, zullen navigeren tussen tabs met de pijltoetsen onmiddellijk de bijbehorende tabcomponent weergeven. -
Handmatig: wanneer ingesteld op handmatig, zal de tab focus krijgen maar niet worden weergegeven totdat de gebruiker op spatie of enter drukt.
Toon Code
- TabbedPaneActivationView.java
Verwijderingsopties
Individuele Tab elementen kunnen zo worden ingesteld dat ze sluitbaar zijn. Sluitbare tabs hebben een sluitknop aan de tab toegevoegd, die een sluit gebeurtenis activeert wanneer erop wordt geklikt. De TabbedPane bepaalt hoe dit gedrag wordt afgehandeld.
-
Handmatig: standaard is verwijdering ingesteld opMANUAL, wat betekent dat de gebeurtenis wordt geactiveerd, maar het aan de ontwikkelaar is om deze gebeurtenis op welke manier dan ook te verwerken. -
Automatisch: als alternatief kanAUTOworden gebruikt, wat de gebeurtenis activeert en ook deTabuit de component verwijdert voor de ontwikkelaar, waardoor het onnodig is voor de ontwikkelaar om dit gedrag handmatig te implementeren.
Segmentcontrole 26.00
De TabbedPane kan worden weergegeven als een segmentcontrole door de segment eigenschap in te schakelen met setSegment(true). In deze modus worden tabs weergegeven met een schuifpillenindicator die de actieve selectie benadrukt, wat een compacte alternatieve biedt voor de standaard tab-interface.
Toon Code
- TabbedPaneSegmentView.java
Stijl
Uitbreiding en thema
De TabbedPane wordt geleverd met ingebouwde Expanse en Thema opties, vergelijkbaar met andere webforJ componenten. Deze kunnen worden gebruikt om snel styling toe te voegen die verschillende betekenissen naar de eindgebruiker communiceert zonder dat het nodig is om de component met CSS te stylen.
Toon Code
- TabbedPaneExpanseThemeView.java
Beste praktijken
De volgende praktijken worden aanbevolen voor het gebruik van de TabbedPane binnen applicaties:
-
Logische Groepering: Gebruik tabs om gerelateerde inhoud logisch te groeperen:
- Elke tab moet een duidelijke categorie of functionaliteit binnen je app vertegenwoordigen.
- Groepeer soortgelijke of logische tabs dicht bij elkaar.
-
Beperkte Tabs: Vermijd het overweldigen van gebruikers met te veel tabs. Overweeg het gebruik van een hiërarchische structuur of andere navigatiepatronen waar van toepassing voor een schone interface.
-
Duidelijke Labels: Label je Tabs duidelijk voor intuïtief gebruik:
- Bied duidelijke en beknopte labels voor elke tab.
- Labels moeten de inhoud of het doel weerspiegelen, zodat het voor gebruikers gemakkelijk te begrijpen is.
- Gebruik pictogrammen en verschillende kleuren waar van toepassing.
-
Toetsenbordnavigatie: Gebruik de toetsenbordnavigatie-ondersteuning van webforJ's
TabbedPaneom de interactie met deTabbedPanevoor de eindgebruiker soepeler en intuïtiever te maken. -
Standaard Tab: Als de standaardtab niet aan het begin van de
TabbedPaneis geplaatst, overweeg dan om deze tab als standaard in te stellen voor essentiële of vaak gebruikte informatie.