2011-08-01 13 views
34

मेरे पास JavaFX 2 के साथ जावा डेस्कटॉप एप्लिकेशन है और मेरे FX में मुझे एक टैबपेन मिला है। मैं डिफ़ॉल्ट टैब सेट करना चाहता हूं। दूसरे शब्दों में मैं चयनित टैब को सेट करना चाहता हूं। मैंने पाया कि यह पता लगाने के कई तरीके हैं कि कौन सा टैब चुना गया है और मुझे setSelectionModel() मिला लेकिन मैं इसका उपयोग कैसे नहीं कर सकता।जावाएफएक्स टैबपेन: चयनित टैब को कैसे सेट करें

TabPane tabPane = new TabPane(); 

Tab tab0 = new Tab("blue"); 
tab.setContent(new Rectangle(200,200, Color.BLUE)); 

Tab tab1 = new Tab("green"); 
tab.setContent(new Rectangle(200,200, Color.GREEN)); 

tabPane.getTabs().addAll(tab0, tab1); 

उत्तर

73

SelectionModel सही दृष्टिकोण है। आप अपने TabPane से डिफ़ॉल्ट प्राप्त कर सकते हैं या setSelectionModel(...) का उपयोग करके अपना स्वयं का कार्यान्वयन असाइन कर सकते हैं। डिफ़ॉल्ट मॉडल शुरुआत के लिए काफी अच्छा होना चाहिए।

SingleSelectionModel<Tab> selectionModel = tabPane.getSelectionModel(); 

एक बार जब आप इसे कुछ स्थानीय चर में संग्रहीत कर लेते हैं, तो आपके पास टैब का चयन करने के लिए अलग-अलग विकल्प होते हैं।

selectionModel.select(tab); //select by object 
selectionModel.select(1); //select by index starting with 0 
selectionModel.clearSelection(); //clear your selection 

यदि आप एक मौजूदा टैब का चयन करने का प्रयास करते हैं, तो कुछ भी नहीं होगा।

+0

यह काम किया। धन्यवाद! – Dorothy

16

ऊपर उल्लेख किया दृष्टिकोण को आसान बनाने के लिए:

myTabPane.getSelectionModel().select(myTab); 
-1

आप statique साथ टैब काम करते हैं, मैं अपने TabPane टैब्स के statique संख्या है, तो आप इस माध्यम से अपने टैब का चयन कर सकते हैं मतलब है:

SingleSelectionModel<Tab> selectionModel = TabPane.getSelectionModel(); 

     selectionModel.select(tabName); 

यदि आप डायनेमिक टैब के साथ काम करते हैं, तो मेरा मतलब है कि आपके टैबपेन में टैब की डायनेमिक संख्या है (टैब जोड़ें और निकालें), आप इस प्रकार से अपना टैब चुन सकते हैं:

 if (!TabPane.getTabs().contains(tabName)) { 

     TabPane.getTabs().add(tabName); 

    } 
    SingleSelectionModel<Tab> selectionModel = TabPane.getSelectionModel(); 

    selectionModel.select(tabPane); 
संबंधित मुद्दे