Aga*_*ria 16 javafx javafx-2 fxml
我有一个带FXML的JavaFX 2.0应用程序.我希望在调整带有应用程序的窗口时调整组件(TextFields,ComboBoxes,layouts等)的大小.所以...
使用JavaFX构建GUI应用程序时,您会注意到API中的某些类已经实现了属性.例如,
javafx.scene.shape.Rectangle类包含的属性arcHeight,arcWidth,height,width,x,和y.对于这些属性中的每一个,将存在与先前描述的约定匹配的对应方法.例如getArcHeight(),setArcHeight(double),arcHeightProperty(),它们共同表明(对开发人员和工具)给定的属性存在.*
要将监听器添加到舞台,我必须执行以下操作:
stage.resizableProperty().addListener(new ChangeListener<Boolean>(){
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2){
throw new UnsupportedOperationException("Not supported yet.");
}
});
Run Code Online (Sandbox Code Playgroud)所以有两个问题:
那么,我该如何解决我的问题呢?
UPD.关于Scene Builder到Sergey Grinev:当我在我的组件上使用 Ctrl + K(告诉它占据其父组件的整个区域)时 - 一切正常.
但是如果我想告诉我的组件占据50%的面积呢?例如,我有一个带有两个VBox的标签.标签的宽度为100px.Vbox的宽度分别为50px.VBox1的x1 = 0,x2 = 50,VBox2的x1 = 50,x2 = 100.然后我用JavaFX应用程序调整窗口大小.现在我有tab的Width = 200px.但是我的VBoxes宽度仍然是= 50px:VBox1有x1 = 0,x2 = 50,VBox2有x1 = 150,x2 = 200.我需要它们是VBox1 x1 = 0和x2 = 100而VBox2 x1 = 100且x2 = 200.其中x1和x2值是VBoxes角的坐标.
在这种情况下,Scene Builder如何帮助我?
jew*_*sea 20
关于构建可调整大小的guis =>的一些建议
以下是可调整大小的JavaFX UI 的示例,该UI实现了上述一些原则.
另一个简单的选择是使用JavaFX Scene Builder(最近成为公共测试版:http://www.oracle.com/technetwork/java/javafx/tools/index.html)
它允许通过拖放创建UI并将UI元素锚定到边框(通过锚点工具),因此它们可以使用窗口边框移动/调整大小.
更新:
为了实现自动尺寸比例布局,可以使用GridPane具有ColumnConstraint:
public void start(Stage stage) {
VBox box1 = new VBox(1);
VBox box2 = new VBox(1);
//random content
RectangleBuilder builder = RectangleBuilder.create().width(20).height(20);
box1.getChildren().addAll(builder.build(), builder.build(), builder.build());
builder.fill(Color.RED);
box2.getChildren().addAll(builder.build(), builder.build(), builder.build());
//half by half screen
GridPane grid = new GridPane();
grid.addRow(0, box1, box2);
ColumnConstraints halfConstraint = ColumnConstraintsBuilder.create().percentWidth(50).build();
grid.getColumnConstraints().addAll(halfConstraint, halfConstraint);
stage.setScene(new Scene(grid, 300, 250));
stage.show();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57578 次 |
| 最近记录: |