无法创造的JavaFX窗口

时间:2017-02-12 01:52:24

标签: java javafx

我的问题是我的JavaFX窗口比底部扩展得更远,因此显示了一个奇怪的空白背景......

我设置stage.setResizable(false)但它似乎不起作用。我也设置了

stage.setMinWidth(1280);
stage.setMaxWidth(1280);
stage.setMinHeight(800);
stage.setMaxHeight(800);

我认为这是因为某些ImageView大于窗口,但我真的希望我的窗口能够坚持我设置的最大值,并且绝对不会重新调整大小。

以下是它的样子:click here

我也注意到只有在我设置stage.initStyle(StageStyle.TRANSPARENT)时才会发生这种情况。 但我不希望我的窗口用stage.initStyle(StageStyle.DECORATED)装饰...... :(

提前感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:1)

您是否尝试过直接使用setWidthsetHeight

stage.setWidth(1280);
stage.setHeight(800);

我认为setMaxWidth,setMinHeight ......等仅适用于装饰屏幕,因为其主要目的是限制用户可以设置窗口的大小。这是我的榜样:

public class FixedWindowSize extends Application
{

    public static void main(String[] args)
    {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception
    {
        Pane p = new Pane();
        p.setBackground(new Background(new BackgroundFill(Color.RED, null, null)));
        p.setMinSize(6000, 6000); //Make this go out beyond window bounds.
        Scene s = new Scene(p);

        primaryStage.setScene(s);
        primaryStage.initStyle(StageStyle.TRANSPARENT);

        //This doesn't work
        //primaryStage.setMinWidth(1280);
        //primaryStage.setMaxWidth(1280);
        //primaryStage.setMinHeight(800);
        //primaryStage.setMaxHeight(800);

        //This should work.
        primaryStage.setWidth(1280);
        primaryStage.setHeight(800);

        primaryStage.show();
    }

}