2016-10-02 12 views
0

シーン内にVBoxをルートとして持っていますが、このVBoxにはMenuBarとBorderPaneが含まれています。 ウィンドウがサイズ変更されたときに自動的にすべてのサイズ変更(vboxのみで十分だと思います)を自動的に行う方法がわかります。widthoutは、scene.widthpropertyプロパティに変更リストを追加します。事前にシーンにVBoxサイズを設定する方法

感謝:)

+0

なぜChangeListenerを追加できないのですか? –

+0

私は自動的にすべてのコンテンツのサイズを変更することができますmenubarとborderpaneのメソッドがないため、その場合、私はvboxの子要素のすべての要素をサイズ変更する必要があります、私は特定のメソッドがあるかどうかを知りたいこれを行うにはjavafxが提供しています。 –

+0

menubarとborderpaneの子要素はまだ相対サイズを持っています –

答えて

0

あなたはこのハックで試すことができます。

@Override 
    public void start(Stage primaryStage) throws Exception 
    { 
     //Get visible bounds of the screen 
     Rectangle2D screenbounds=Screen.getPrimary().getVisualBounds(); 
     VBox root=new VBox(); 
     //Set scene's size to maximum 
     Scene scene=new Scene(root,screenbounds.getWidth(),screenbounds.getHeight()); 
     primaryStage.setScene(scene); 
     HBox one =new HBox(),two=new HBox(); 
     one.setPrefSize(400,500); 
     two.setPrefSize(400,700); 
     one.setBackground(new Background(new BackgroundFill(Color.BLUE,null,null))); 
     two.setBackground(new Background(new BackgroundFill(Color.DARKORANGE,null,null))); 
     root.getChildren().addAll(one,two); 
     primaryStage.show(); 
    } 

これは、すべての利用可能な画面スペースを使用するようにアプリケーションウィンドウになります。指定したウィンドウのサイズを垂直に変更すると、ボックスは適切に縮小されます。

ノードの優先サイズを設定して、サイズ変更を「自動」にする必要があります。

関連する問題