我正在尝试创建一个java程序。用户选择他们的html文件,它将在javafx webview(或程序内的其他Web浏览器)中显示。
我想添加一个按钮,用于将webview方向从水平切换到垂直,反之亦然,用户可以检查他们的html文件是否有响应。
我不确定我是否可以调整当前场景的大小,或者我可以在2个场景或删除和新建场景之间setScene
...
VBox root = new VBox();
VBox root1 = new VBox();
Scene scene = new Scene(root, 900, 500);
Scene scene1 = new Scene(root1, 500, 900);
感谢并抱歉英语语法不好!
答案 0 :(得分:2)
以下代码演示了如何动态更改大小:
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class StageTest extends Application{
private static final double WIDTH = 900, HEIGHT = 500;
private Stage stage;
private VBox root;
boolean isVertical = false;
@Override
public void start(Stage stage) throws Exception {
this.stage = stage;
stage.setTitle("Dynamic Stage Resize");
root = new VBox();
root.setAlignment(Pos.CENTER_LEFT);
root.setPrefSize(WIDTH, HEIGHT);
Button addNode = new Button("Change Size");
addNode.setOnAction( e -> changeSize());
root.getChildren().add(addNode);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
void changeSize() {
if(isVertical) {
root.setPrefSize(WIDTH, HEIGHT);
} else {
root.setPrefSize(HEIGHT, WIDTH);
}
isVertical = !isVertical;
stage.sizeToScene();
}
public static void main(String[] args) {
launch(args);
}
}