2013-07-31 26 views
5

Bir masa ve ProgressBar sahip bir uygulama var. Kullanıcı pencereyi yeniden boyutlandırdığında, ilerleme çubuğumu genişletmek istiyorum. JavaFX'te TextBox için HBox önceliğini ayarlayabilir ve istenen şekilde başarabilirim. Ancak ProgressBar için çalışmıyor.Javafx'te ilerleme çubuğu nasıl büyütülür?

Herhangi biri bana nerede yanlış olduğumu söyleyebilir mi?

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

Bize kodunuzu gösterin ve herhangi bir düzen yöneticisi kullandınız mı? – Vinay

+0

@JJPA Lütfen şu kodu kontrol ediniz .. – Rajesh

+0

@JJPA Blog'u ararken aradım http://amyfowlersblog.wordpress.com/2010/05/26/javafx-1-3-growing-shrinking-and-filling/ – Rajesh

cevap

10

bağlama ilerleme çubuğu ve Vbox genişlikleri:

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

en iyi yolu, ilerleme çubuğu maksimum genişliğini ayarlamak için.

browser.setMaxWidth(Double.MAX_VALUE);

ve tabii

(söz belki değmez, de deault olan) tam genişliğe kadar olan çocukları doldurmak için Vbox anlatmak için.

vbox.setFillWidth(true); 

Uluk tarafından verilen cevap basit örneklerde işe yarayabilir. Bununla birlikte, ebeveynin genişliğini değiştiren bir ebeveynin kendi genişliğini de değiştirmeye karar vermesi durumunda, ebeveynin kontrolsüz bir şekilde büyümesine yol açabilir. Aşırı karmaşık bir düzende olmasa bile, bu tür davranışlar kolaylıkla gözlemlenebilir.

İlgili konular