यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
टैब (TabBar) कैसे बनाएं
उद्देश्य. सामग्री को टैब बार द्वारा बदले जा सकने वाले पृष्ठों में व्यवस्थित करना, एनिमेटेड संकेतक और पृष्ठों के बीच क्षैतिज स्लाइड के साथ। शीर्ष-स्तरीय अनुभागों (Home / Buscar / Perfil) के लिए या स्क्रीन नेविगेशन के बिना संबंधित सामग्री को समूहित करने के लिए उपयोग करें।
प्रयुक्त APIs
new TabBar(TabBar.Tab... tabs)— टैब विवरणकों से बार बनाता है।new TabBar.Tab(String text)— केवल टेक्स्ट वाला टैब।new TabBar.Tab(Icon icon)— केवल आइकन वाला टैब।new TabBar.Tab(String text, Icon icon)— टेक्स्ट और आइकन वाला टैब (डिफ़ॉल्ट रूप से टेक्स्ट आइकन के नीचे)।tabBar.setContent(Component... contents)— प्रत्येक टैब की सामग्री परिभाषित करता है; मात्रा टैबों की संख्या से मेल खानी चाहिए (अन्यथाIllegalArgumentExceptionफेंकता है)।tabBar.onTabChanged(TabBar.TabChangedListener listener)— कॉलबैकonTabChanged(int index)जो सक्रिय टैब बदलने पर (छूने या स्लाइड करने से) कॉल होता है।tabBar.setActiveTab(int index)— प्रोग्रामेटिक रूप से टैब बदलता है (संकेतक को एनिमेट करता है और सामग्री को स्क्रॉल करता है)।tabBar.getActiveIndex()— सक्रिय टैब का इंडेक्स।
पूरा उदाहरण (कॉपी करें, पेस्ट करें और चलाएं)
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
// केवल-टेक्स्ट टैब (स्वायत्त, MaterialIcon glyphs पर निर्भर नहीं)
TabBar tabBar = new TabBar(
new TabBar.Tab("Início"),
new TabBar.Tab("Buscar"),
new TabBar.Tab("Perfil"));
// प्रत्येक टैब के लिए एक कंटेंट Component, टैब के उसी क्रम में
Component telaInicio = new Label("Conteúdo: Início");
Component telaBusca = new Label("Conteúdo: Buscar");
Component telaPerfil = new Label("Conteúdo: Perfil");
tabBar.setContent(
telaInicio,
telaBusca,
telaPerfil);
tabBar.onTabChanged(index ->
{
// उदा.: टैब बदलने पर मांग पर डेटा लोड करना
if (index == 1) carregarBusca();
});
add(LAY_FILL, tabBar);
}
private void carregarBusca()
{
// ... Buscar टैब का डेटा मांग पर लोड करें ...
}
}
नीचे का अंश केवल मुख्य भाग दिखाता है। चलाने के लिए, इसे ऊपर दिए गए
MainWindowढाँचे में रखें।
न्यूनतम अंश
TabBar tabBar = new TabBar(
new TabBar.Tab("Início", new MaterialIcon("")),
new TabBar.Tab("Buscar", new MaterialIcon("")),
new TabBar.Tab("Perfil", new MaterialIcon("")));
// प्रत्येक टैब के लिए एक कंटेंट Component, टैब के उसी क्रम में
tabBar.setContent(
telaInicio,
telaBusca,
telaPerfil);
tabBar.onTabChanged(index ->
{
// उदा.: टैब बदलने पर मांग पर डेटा लोड करना
if (index == 1) carregarBusca();
});
add(tabBar);
// कोड से टैब बदलें, यदि जरूरत हो:
tabBar.setActiveTab(2); // "Perfil" पर जाता है
सत्यापन नोट (कोड 2026). स्रोत में पुष्ट:
TabBar(Tab...),setContent(Component...),onTabChanged(TabChangedListener),setActiveTab(int)। व्यवहार विवरण: जब टैब फिट नहीं होते तो टैब बार क्षैतिज रूप से खिसकती है; सामग्री पैनल को स्लाइड करने से सक्रिय टैब बदलता है और संकेतक हिलता है; टैबों की स्थिति (शीर्ष बनाम नीचे) और संकेतक की शैली सक्रियSkinकीTabBarStyleसे आती है (उदा.:IOSSkinटैबों को नीचे रखता है)। यदिsetContentकॉल नहीं किया जाता, तो बार केवल टैब दिखाती है बिना सामग्री पैनल के।