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 tegelijkertijd zichtbaar, en tabs kunnen tekst, pictogrammen of beide weergeven om gebruikers te helpen tussen hen te navigeren.
Toepassingen
De TabbedPane klasse biedt ontwikkelaars een krachtig hulpmiddel voor het organiseren en presenteren van meerdere tabs of secties binnen een gebruikersinterface. Hier zijn enkele typische scenario's waarin je een TabbedPane in je app zou kunnen gebruiken:
-
Documentviewer: Het implementeren van een documentviewer waarbij elke tab een ander document of bestand vertegenwoordigt. Gebruikers kunnen eenvoudig schakelen tussen geopende documenten voor efficiënt multitasking.
-
Gegevensbeheer: Gebruik een
TabbedPaneom gegevensbeheertaken te organiseren, bijvoorbeeld:- Verschillende datasets die in een app worden weergegeven
- Diverse gebruikersprofielen kunnen binnen aparte tabs worden weergegeven
- Verschillende profielen in een gebruikersbeheersysteem
-
Module-selectie: Een
TabbedPanekan verschillende modules of secties vertegenwoordigen. Elke tab kan de functionaliteiten van een specifieke module encapsuleren, waardoor gebruikers zich op één aspect van de app tegelijk kunnen concentreren. -
Taakbeheer: Taakbeheertoepassingen kunnen een
TabbedPanegebruiken om verschillende projecten of taken weer te geven. Elke tab kan overeenkomen met een specifiek project, zodat gebruikers de taken afzonderlijk kunnen beheren en volgen. -
Programmanavigatie: Binnen een app die verschillende programma's moet uitvoeren, kan een
TabbedPane:- Dien als een zijbalk waarmee verschillende apps of programma's binnen een enkele app kunnen worden uitgevoerd, zoals wat wordt getoond in de
AppLayouttemplate - Een bovenbalk creëren die een soortgelijk doel kan dienen, of sub-applicaties binnen een reeds geselecteerde app kan vertegenwoordigen.
- Dien als een zijbalk waarmee verschillende apps of programma's binnen een enkele app kunnen worden uitgevoerd, zoals wat wordt getoond in de
Tabs dwc-tab
Tabs zijn UI-elementen die kunnen worden toegevoegd aan tabbladen om verschillende weergaven van inhoud te organiseren en tussen hen te schakelen.
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 mag niet als zodanig worden gebruikt.
Eigenschappen
Tabs zijn samengesteld uit de volgende eigenschappen, die worden gebruikt bij het toevoegen aan 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 geassocieerd is met deTab, die wordt weergegeven wanneer de cursor over deTabzweeft. -
Ingeschakeld(
boolean): Vertegenwoordigt of deTabis ingeschakeld of niet. Kan worden gewijzigd met desetEnabled(boolean enabled)methode. -
Sluitbaar(
boolean): Vertegenwoordigt of deTabkan worden gesloten. Kan worden gewijzigd met desetClosable(boolean closable)methode. Dit voegt een sluitknop toe aan deTabdie kan worden aangeklikt en een verwijderingsgebeurtenis activeert. DeTabbedPanecomponent bepaalt hoe om te gaan met de verwijdering. -
Slot(
Component): Slots bieden flexibele opties voor het verbeteren van de functionaliteit van eenTab. Je kunt pictogrammen, labels, laadspinners, wissen/reset mogelijkheden, avatar/profielafbeeldingen en andere nuttige componenten binnen eenTabnestelen om de bedoeling verder te verduidelijken voor gebruikers. Je kunt een component toevoegen aan deprefixslot van eenTabtijdens 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("files")));
Tab manipulatie
Diverse methoden bestaan om ontwikkelaars in staat te stellen tabbladen toe te voegen, in te voegen, te verwijderen en verschillende eigenschappen van Tab-elementen binnen de TabbedPane te manipuleren.
Een Tab toevoegen
De methoden addTab() en add() bestaan in verschillende overbelastingscapaciteiten om ontwikkelaars flexibiliteit te bieden bij het toevoegen van nieuwe tabs aan de TabbedPane. Het toevoegen van een Tab plaatst deze na 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 wordt weergegeven in het inhoudsgedeelte van deTabbedPane.addTab(Tab tab, Component component): voegt de opgegevenTabtoe en toont de opgegevenComponentin het inhoudsgedeelte van deTabbedPane.add(Component... component): voegt een of meer instanties vanComponenttoe aan deTabbedPane, waarbij voor elk een afzonderlijkeTabwordt gecreëerd, waarbij de tekst wordt ingesteld op de naam van deComponent.
De add(Component... component) methode 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 in te voegen op een aangewezen positie. Om dit te doen, zijn er meerdere overbelaste versies van de insertTab() methode.
insertTab(int index, String text): voegt eenTabin deTabbedPanein op 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 gespecificeerde index.insertTab(int index, String text, Component component): voegt eenTabin met de gegevenStringals de tekst van deTab, en de opgegevenComponentdie wordt weergegeven in het inhoudsgedeelte van deTabbedPane.insertTab(int index, Tab tab, Component component): voegt de opgegevenTabin en toont de opgegevenComponentin het inhoudsgedeelte van deTabbedPane.
Een Tab verwijderen
Om een enkele Tab uit de TabbedPane te verwijderen, gebruik 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 verwijderen.
De remove() en removeAll() methoden verwijderen geen tabs binnen de component.
Tab/Component associatie
Om de Component die voor een gegeven Tab moet worden weergegeven te wijzigen, roep de setComponentFor() methode aan en geef of 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 moet worden weergegeven. Dit kan een enkele component of een Composite component zijn, waardoor het weergeven van complexere componenten binnen een tab-inhoud sectie mogelijk is.
Vegen
De TabbedPane ondersteunt navigeren door de verschillende tabs via vegen. Dit is ideaal voor een mobiele app, maar kan ook worden geconfigureerd via een ingebouwde methode om muisvegen te ondersteunen. Zowel vegen als muisvegen zijn standaard uitgeschakeld, maar kunnen worden ingeschakeld met de methoden setSwipeable(boolean) en setSwipeWithMouse(boolean).
Tab plaatsing
De Tabs binnen een TabbedPane kunnen in verschillende posities binnen de component worden geplaatst, afhankelijk van de voorkeur van de app-ontwikkelaar. De aangeboden opties worden ingesteld met behulp van de verstrekte enum, die de waarden TOP, BOTTOM, LEFT, RIGHT, of HIDDEN heeft. De standaardinstelling is TOP.
Uitlijning
Naast het veranderen van de plaatsing van de Tab elementen binnen de TabbedPane, is het ook mogelijk om te configureren hoe de tabs zullen uitlijnen binnen de component. Standaard is de instelling AUTO van kracht, wat de plaatsing van de tabs hun uitlijning laat dicteren.
De andere opties zijn START, END, CENTER, en STRETCH. De eerste drie beschrijven de positie ten opzichte van de component, waarbij STRETCH de tabs het beschikbare ruimte laat vullen.
Rand en activiteitindicator
De TabbedPane zal standaard een rand voor de tabs weergeven, afhankelijk van welke Placement is ingesteld. Deze rand helpt om de ruimte die de verschillende tabs binnen het paneel innemen te visualiseren.
Wanneer een Tab wordt aangeklikt, wordt standaard een activiteitindicator weergegeven nabij die Tab 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-methoden. Om te veranderen of de rand wordt weergegeven, kan de setBorderless(boolean) methode 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 slechts als een scheiding tussen de tabs en de inhoud van de component.
Om de zichtbaarheid van de actieve indicator in te stellen, kan de setHideActiveIndicator(boolean) methode worden gebruikt. Door true aan deze methode door te geven, wordt de actieve indicator onder een actieve Tab verborgen, terwijl false, de standaardwaarde, de indicator zichtbaar houdt.
Activatiemodi
Voor meer gedetailleerde controle over hoe de TabbedPane zich gedraagt met toetsenbordnavigatie, kan de Activation modus worden ingesteld om te specificeren hoe de component zich moet gedragen.
-
Auto: wanneer ingesteld op automatisch, zal navigeren tussen tabs met de pijltjestoetsen direct de bijbehorende tabcomponent tonen. -
Manual: wanneer ingesteld op handmatig, ontvangt de tab focus, maar wordt niet weergegeven totdat de gebruiker op spatie of enter drukt.
Verwijderopties
Individuele Tab elementen kunnen worden ingesteld als sluitbaar. Sluitbare tabs zullen een sluitknop aan de tab hebben, die een sluitgebeurtenis activeert wanneer erop wordt geklikt. De TabbedPane bepaalt hoe dit gedrag wordt verwerkt.
-
Manual: standaard is de verwijdering ingesteld opMANUAL, wat betekent dat de gebeurtenis wordt geactiveerd, maar het aan de ontwikkelaar is om deze gebeurtenis op de manier te verwerken die ze kiezen. -
Auto: als alternatief kanAUTOworden gebruikt, wat de gebeurtenis activeert en ook deTabuit de component verwijdert voor de ontwikkelaar, waardoor de behoefte aan de ontwikkelaar om deze functionaliteit handmatig te implementeren wordt weggenomen.
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 schuivende pilindicator die de actieve selectie benadrukt, en biedt een compact alternatief voor de standaard tab-interface.
Stijl
Ruimte en thema
De TabbedPane komt met ingebouwde Expanse en Theme opties vergelijkbaar met andere webforJ componenten. Deze kunnen worden gebruikt om snel styling toe te voegen die verschillende betekenissen overbrengt aan de eindgebruiker zonder dat de component met CSS hoeft te worden gestyled.
Best practices
De volgende praktijken worden aanbevolen voor het gebruik van de TabbedPane binnen applicaties:
-
Logische Groepering: Gebruik tabs om verwante inhoud logisch te groeperen:
- Elke tab moet een duidelijke categorie of functionaliteit binnen je app vertegenwoordigen.
- Groepeer vergelijkbare 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 toepasbaar voor een schone interface.
-
Duidelijke Labels: Label je Tabs duidelijk voor intuïtief gebruik:
- Geef duidelijke en beknopte labels voor elke tab.
- Labels moeten de inhoud of het doel reflecteren, waardoor het gemakkelijk is voor gebruikers om te begrijpen.
- Gebruik pictogrammen en onderscheidende kleuren waar toepasbaar.
-
Toetsenbordnavigatie: Gebruik de toetsenbordnavigatie-ondersteuning van webforJ's
TabbedPaneom de interactie met deTabbedPanenaadlozer en intuïtiever te maken voor de eindgebruiker. -
Standaard Tab: Als de standaard tab niet aan het begin van de
TabbedPaneis geplaatst, overweeg dan om deze tab in te stellen als standaard voor essentiële of veelgebruikte informatie.