为啥禁用舞台可调整大小在 javafx 中不起作用?

Posted

技术标签:

【中文标题】为啥禁用舞台可调整大小在 javafx 中不起作用?【英文标题】: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 【参考方案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 中的一个错误。谢谢帮助。

以上是关于为啥禁用舞台可调整大小在 javafx 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥“禁用:”顺风前缀在我的反应应用程序中不起作用?

如何使 iframe 可调整大小?

粘性标题不适用于 Primeng 中可调整大小的列。?

JPanel中可调整大小的JFreeChart

物化图标在 JavaFX 浏览器中不起作用

为啥非贪心量词有时在 Oracle 正则表达式中不起作用?