2013-07-31 6 views
5

मेरे पास एक ऐसा एप्लिकेशन है जहां मेरे पास एक टेबल है और ProgressBar है। जब मैं खिड़की का आकार बदलता हूं तो मैं अपनी प्रगति पट्टी का विस्तार करना चाहता हूं। JavaFX में TextBox के लिए मैं HBox प्राथमिकता सेट करने और इसे इच्छित के रूप में प्राप्त करने में सक्षम हो सकता हूं। लेकिन ProgressBar के लिए यह काम नहीं कर रहा है।javafx में क्षैतिज प्रगति पट्टी कैसे विकसित करें?

क्या कोई मुझे बता सकता है कि मैं गलत कहां कर रहा हूं?

HBox root = new HBox();   
final ProgressBar browser = new ProgressBar(); 

// final WebEngine webEngine = browser.getEngine(); 
// browser.setText("JJJ"); 
HBox.setHgrow(browser, Priority.ALWAYS);   
// webEngine.loadContent("<b>asdf</b>");    
root.getChildren().add(browser); 
scene.setRoot(root); 
+0

हमें अपना कोड दिखाएं और आपने कोई लेआउट प्रबंधक इस्तेमाल किया है? – Vinay

+0

@JJPA कृपया कोड जांचें .. – Rajesh

+0

@JJPA मैं इसके लिए खोज करते समय ब्लॉग पर आया http://amyfowlersblog.wordpress.com/2010/05/26/javafx-1-3-growing-shrinking-and-filling/ – Rajesh

उत्तर

10

बाइंड प्रगति बार और vbox की चौड़ाई:

VBox root = new VBox(); 
root.setAlignment(Pos.TOP_CENTER); 
final ProgressBar browser = new ProgressBar(); 
browser.prefWidthProperty().bind(root.widthProperty().subtract(20)); // -20 is for 
    // padding from right and left, since we aligned it to TOP_CENTER. 
root.getChildren().add(browser); 
9

सबसे अच्छा तरीका प्रगति बार की अधिकतम चौड़ाई सेट करने के लिए है।

browser.setMaxWidth(Double.MAX_VALUE);

और निश्चित रूप से VBox बताने के लिए पूरी चौड़ाई अप करने के लिए अपने बच्चों को भरने के लिए (जो डी deault, इसलिए हो सकता है उल्लेख के लायक नहीं)।

vbox.setFillWidth(true); 

उलुक द्वारा दिए गए उत्तर सरल उदाहरणों में काम कर सकते हैं। हालांकि, यह माता-पिता की अनियंत्रित वृद्धि का कारण बन सकता है, अगर माता-पिता की चौड़ाई बदलने वाले बच्चे के जवाब में पैरेंट अपनी चौड़ाई बदलने का फैसला करता है। यहां तक ​​कि अत्यधिक जटिल लेआउट में भी इस तरह के व्यवहार को आसानी से देखा जा सकता है।

संबंधित मुद्दे