Stage
尺寸
primaryStage.setWidth(600);
primaryStage.setHeight(600);
primaryStage.setMaxWidth(1000);
primaryStage.setMaxHeight(800);
primaryStage.setMinWidth(300);
primaryStage.setMinHeight(300);
primaryStage.setResizable(false);
获取宽高
double width = primaryStage.getWidth();
double height = primaryStage.getHeight();
样式
primaryStage.setTitle("JavaFX");
primaryStage.getIcons().add(new Image("image\\portrait.jpg"));
primaryStage.setIconified(true);
primaryStage.setMaximized(true);
primaryStage.setFullScreen(true);
FlowPane root = new FlowPane();
primaryStage.setScene(new Scene(root, 800, 500));
primaryStage.setOpacity(0.5);
primaryStage.setAlwaysOnTop(true);
primaryStage.setX(100);
primaryStage.setY(200);
primaryStage.initStyle(StageStyle.UNDECORATED);
primaryStage.show();
Stage stage = new Stage();
stage.setWidth(300);
stage.setHeight(300);
stage.show();
Stage stage2 = new Stage();
stage2.initOwner(stage);
stage2.setWidth(200);
stage2.setHeight(200);
stage2.initModality(Modality.WINDOW_MODAL);
stage2.initModality(Modality.APPLICATION_MODAL);
stage2.show();
primaryStage.close();
监听
监听窗口大小改变
primaryStage.widthProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
System.out.println("observable = " + observable + ", oldValue = " + oldValue + ", newValue = " + newValue);
}
});
监听位置改变
primaryStage.xProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
System.out.println("observable = " + observable + ", oldValue = " + oldValue + ", newValue = " + newValue);
}
});