按钮点击更改javafx webview方向

时间:2017-07-01 11:31:24

标签: java javafx

我正在尝试创建一个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);

感谢并抱歉英语语法不好!

1 个答案:

答案 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);
    }
}