TabbedPane
De TabbedPane klasse biedt een compacte en georganiseerde manier om inhoud weer te geven die is verdeeld in meerdere secties, die elk zijn geassocieerd met een Tab. Gebruikers kunnen tussen deze secties schakelen door op de respectieve tabs te klikken, die vaak zijn gelabeld met tekst en/of pictogrammen. Deze klasse vereenvoudigt de creatie van veelzijdige interfaces waar verschillende inhoud of formulieren toegankelijk moeten zijn, maar niet tegelijkertijd zichtbaar.
Usages
De TabbedPane klasse geeft 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 toepassing zou kunnen gebruiken:
-
Document Viewer: 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 applicatie moeten worden weergegeven
- Verschillende 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 applicatie 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 taken afzonderlijk kunnen beheren en volgen. -
Programmanavigatie: Binnen een applicatie die verschillende programma's moet uitvoeren, kan een
TabbedPane:- Dienen als een zijbalk die het mogelijk maakt om verschillende applicaties of programma's binnen een enkele applicatie uit te voeren, zoals wat wordt getoond in de
AppLayouttemplate - Een bovenbalk creëren die een soortgelijk doel kan dienen, of subapplicaties binnen een reeds geselecteerde applicatie kan weergeven.
- Dienen als een zijbalk die het mogelijk maakt om verschillende applicaties of programma's binnen een enkele applicatie uit te voeren, zoals wat wordt getoond in de
Tabs
Tabs zijn UI-elementen die aan tabbladen kunnen worden toegevoegd om verschillende inhoudsweergaven te organiseren en tussen hen te schakelen.
Tabs zijn niet bedoeld om als zelfstandige componenten te worden gebruikt. Ze zijn bedoeld om in combinatie met tabbladen te worden gebruikt. Deze klasse is geen Component en moet niet als zodanig worden gebruikt.
Properties
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.
-
Key(
Object): Vertegenwoordigt de unieke identifier voor deTab. -
Text(
String): De tekst die als titel voor deTabbinnen deTabbedPanewordt weergegeven. Dit wordt ook wel de titel genoemd via degetTitle()ensetTitle(String title)methoden. -
Tooltip(
String): De tooltip-tekst die aan deTabis gekoppeld, die wordt weergegeven wanneer de cursor over deTabzweeft. -
Enabled(
boolean): Vertegenwoordigt of deTabmomenteel is ingeschakeld of niet. Dit kan worden aangepast met desetEnabled(boolean enabled)methode. -
Closeable(
boolean): Vertegenwoordigt of deTabkan worden gesloten. Dit kan worden aangepast met desetCloseable(boolean enabled)methode. Dit voegt een sluitknop toe aan deTabdie door de gebruiker kan worden aangeklikt en genereert een verwijderingsevenement. DeTabbedPanecomponent bepaalt hoe om te gaan met de verwijdering. -
Slot(
Component): Slots bieden flexibele opties voor het verbeteren van de mogelijkheden van eenTab. Je kunt pictogrammen, labels, laadspinners, wissen/resetcapaciteit, 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 desetPrefixComponent()ensetSuffixComponent()methoden gebruiken om verschillende componenten vóór en na de weergegeven optie binnen eenTabin te voegen.TabbedPane pane = new TabbedPane();
pane.addTab(new Tab("Documenten", TablerIcon.create("files")));
Tab manipulatie
Er zijn verschillende methoden beschikbaar om ontwikkelaars in staat te stellen tabs toe te voegen, in te voegen, te verwijderen en verschillende eigenschappen van Tab elementen binnen de TabbedPane te manipuleren.
Een Tab toevoegen
De addTab() en add() methoden bestaan in verschillende overbelaste capaciteiten om ontwikkelaars flexibiliteit te bieden bij het toevoegen van nieuwe tabs aan de TabbedPane. Het toevoegen van een Tab zal het na alle eerder bestaande tabs plaatsen.
addTab(String text)- Voegt eenTabtoe aan deTabbedPanemet de gespecificeerdeStringals 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 gegevenComponentweergegeven in het inhoudssectie van deTabbedPane.addTab(Tab tab, Component component)- Voegt de opgegevenTabtoe en toont de opgegevenComponentin het inhoudssectie van deTabbedPane.add(Component... component)- Voegt een of meerComponentinstanties toe aan deTabbedPane, waarbij voor elke een aparteTabwordt gemaakt, met de tekst ingesteld op de naam van deComponent
Het 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 er een nieuwe te creëren op een aangewezen positie. Dit kan door gebruik te maken van meerdere overbelaste versies van de insertTab().
insertTab(int index, String text)- Voegt eenTabtoe aan deTabbedPaneop de gegeven index met de gespecificeerdeStringals de tekst van deTab.insertTab(int index, Tab tab)- Voegt deTabtoe die als parameter is opgegeven aan deTabbedPaneop de opgegeven index.insertTab(int index, String text, Component component)- Voegt eenTabtoe met de gegevenStringals de tekst van deTab, en de opgegevenComponentweergegeven in de inhoudssectie van deTabbedPane.insertTab(int index, Tab tab, Component component)- Voegt de opgegevenTabtoe en toont de opgegevenComponentin de inhoudssectie 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 deTabte specificeren die moet worden verwijderd.
Naast de twee bovenstaande methoden voor het verwijderen van een enkele Tab, gebruik de removeAllTabs() methode om de TabbedPane van alle tabs te wissen.
De remove() en removeAll() methoden verwijderen geen tabs binnen de component.
Tab/Component associatie
Om de Component die voor een bepaalde Tab moet worden weergegeven te wijzigen, roep de setComponentFor() methode aan en geef 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 gekoppeld aan een Component, zal de eerder gekoppelde Component worden vernietigd.
Configuratie en layout
De TabbedPane klasse heeft twee constituerende delen: een Tab die op een specifieke locatie wordt weergegeven, en een component die wordt weergegeven. Dit kan een enkele component of een Composite component zijn, waardoor de weergave van complexere componenten binnen de inhoudssectie van een tab mogelijk is.
Swiping
De TabbedPane ondersteunt navigatie door de verschillende tabs via swipen. Dit is ideaal voor een mobiele applicatie, maar kan ook worden geconfigureerd via een ingebouwde methode om muisswiping te ondersteunen. Zowel swipen als muisswiping zijn standaard uitgeschakeld, maar kunnen worden ingeschakeld met de setSwipable(boolean) en setSwipableWithMouse(boolean) methoden.
Tab plaatsing
De Tabs binnen een TabbedPane kunnen op verschillende posities binnen de component worden geplaatst op basis van de voorkeur van de applicatie-ontwikkelaar. Biedt opties worden ingesteld met behulp van de aangeboden enum, die de waarden TOP, BOTTOM, LEFT, RIGHT of HIDDEN heeft. De standaardinstelling is TOP.
Toon Code
- Java
Uitlijning
Naast het wijzigen van de plaatsing van de Tab elementen binnen de TabbedPane, is het ook mogelijk om in te stellen hoe de tabs binnen de component zullen uitlijnen. Standaard is de instelling AUTO van kracht, waarmee de plaatsing van de tabs hun uitlijning bepaalt.
De andere opties zijn START, END, CENTER, en STRETCH. De eerste drie beschrijven de positie ten opzichte van de component, terwijl STRETCH de tabs de beschikbare ruimte laat vullen.
Toon Code
- Java
Rand en activiteit indicator
De TabbedPane zal standaard een rand tonen voor de tabs erin, geplaatst 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 dicht bij die Tab weergegeven om te helpen benadrukken welke de momenteel geselecteerde Tab is.
Beide opties kunnen door een ontwikkelaar worden aangepast door de booleaanse waarden te wijzigen met behulp van de juiste settermethoden. Om te wijzigen 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 is niet van toepassing op 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 standaard, de indicator zichtbaar houdt.
Toon Code
- Java
Activatiemodi
Voor meer gedetailleerde controle over hoe de TabbedPane zich gedraagt wanneer deze met het toetsenbord wordt genavigeerd, kan de Activation modus worden ingesteld om te specificeren hoe de component zich moet gedragen.
-
Auto: Wanneer ingesteld op auto, zal het navigeren door tabs met de pijltoetsen onmiddellijk de overeenkomstige tabcomponent weergeven. -
Manual: Wanneer ingesteld op handmatig, krijgt de tab focus maar wordt deze niet weergegeven totdat de gebruiker op spatie of enter drukt.
Toon Code
- Java
Verwijderopties
Individuele Tab elementen kunnen zodanig worden ingesteld dat ze sluitbaar zijn. Sluitbare tabs krijgen een sluitknop toegevoegd aan de tab, die een sluitevenement genereert wanneer erop wordt geklikt. De TabbedPane bepaalt hoe dit gedrag wordt afgehandeld.
-
Manual: Standaard is het verwijderen ingesteld opMANUAL, wat betekent dat het evenement wordt gegenereerd, maar het aan de ontwikkelaar is om dit evenement op welke manier dan ook af te handelen. -
Auto: Alternatief kanAUTOworden gebruikt, wat het evenement zal genereren en deTabook automatisch uit de component zal verwijderen, waardoor de ontwikkelaar deze handeling niet handmatig hoeft te implementeren.
Styling
Uiterlijk en thema
De TabbedPane wordt geleverd met ingebouwde Uiterlijk en Thema opties vergelijkbaar met andere webforJ componenten. Deze kunnen worden gebruikt om snel styling toe te voegen die verschillende betekenissen overbrengt naar de eindgebruiker zonder de component met CSS te moeten stylen.
Toon Code
- Java
Best practices
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 applicatie 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 van toepassing voor een schone interface
-
Duidelijke Labels: Geef je Tabs duidelijk aan voor intuïtief gebruik
- Zorg voor duidelijke en beknopte labels voor elke tab
- Labels moeten de inhoud of het doel weerspiegelen, zodat het voor gebruikers eenvoudig te begrijpen is
- Gebruik pictogrammen en verschillende kleuren waar van toepassing
-
Toetsenbordnavigatie: Gebruik de toetsenbordnavigatieondersteuning van webforJ's
TabbedPaneom de interactie met deTabbedPanenaadlozer en intuïtiever te maken voor de eindgebruiker -
Standaard Tab: Als de standaardtab zich niet aan het begin van de
TabbedPanebevindt, overweeg dan om deze tab in te stellen als standaard voor essentiële of vaak gebruikte informatie.