2013-07-31 9 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);

とアップ(言及するので、多分価値がない、デdeaultです)全幅にその子を埋めるためのVBoxを伝えるために、もちろん。

vbox.setFillWidth(true); 

簡単な例では、Ulukの回答がうまくいくかもしれません。しかし、子供の幅を変更することに応答している親が自分自身の幅を変更することを決定した場合、親の無秩序な成長につながる可能性があります。あまり複雑でないレイアウトであっても、そのような挙動を容易に観察することができる。

関連する問題