【问题标题】:Why disabling of stage resizable dont work in javafx?为什么禁用舞台可调整大小在 javafx 中不起作用?
【发布时间】:2013-07-22 21:44:46
【问题描述】:

当我在 javaFX 应用程序中为我的场景尝试 setResizable 时,它不起作用。我仍然可以更改窗口大小。这是我的测试应用程序的代码:

@Override
public void start(Stage stage) throws Exception {
    // TODO Auto-generated method stub

    stage.setTitle("Test window");
    stage.setWidth(300);
    stage.setHeight(200);
    stage.setResizable(false);

    stage.show();
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Application.launch(args);

}

也许我错过了一些非常简单的事情,因为我对 JavaFX 很陌生。谁能帮我?我在 Ubuntu 13.04 64bit 上使用 Eclipse 4.3 和 JavaSDK 7u25

【问题讨论】:

  • 我也有同样的问题,Ian 你找到解决方案了吗?我正在使用 Windows 10
  • 适用于 Windows 10 和 JDK 1.8.0_77

标签: javafx resizable stage


【解决方案1】:

这不是错误。这取决于您的操作系统的系统或窗口管理器。通常,您需要将stage.setResizable(false); 放在stage.show() 之前或之后。

虽然上述解决方案在大多数情况下都有效,但有时您必须设置舞台的最大高度和宽度:

stage.setMaxWidth(400);        
stage.setMaxHeight(400);

【讨论】:

    【解决方案2】:
        stage.setMaxWidth(300);        
        stage.setMaxHeight(200);
    

    它可以防止在边界上选择窗口,但不能阻止单击窗口全屏按钮,我没有意识到如何。

    【讨论】:

      【解决方案3】:

      这在带有 JDK 1.7.0_25 的 Windows 上运行良好。

      也许您的问题来自您在 Linux 系统上运行应用程序这一事实(即使 Ubuntu 13.04 被列为 supported OS...)Linux 支持是最新的,一些错误可能仍然存在。

      【讨论】:

      • 我在另一台装有 Windows 7 的计算机上测试了相同的应用程序,一切正常。你是对的,它必须是 Ubuntu 中的一个错误。谢谢帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 2018-07-05
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      相关资源
      最近更新 更多