我的问题是我的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)
装饰...... :(
提前感谢您的帮助。 :)
答案 0 :(得分:1)
您是否尝试过直接使用setWidth
和setHeight
:
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();
}
}