JavaFX Scene Builder - 使用变量值

标签 java javafx javafx-8 fxml scenebuilder

我正在尝试使用 Scene Builder 来处理我正在处理的复杂 GUI,为了简单起见,我正在尝试将窗口的高度和宽度固定为用户屏幕高度的一半。

我遇到的问题是 Scene Builder 不允许我在“Pref Width”和“Pref Height”字段中输入自定义值,而只会让我输入类似于“USE_COMPUTED_SIZE”的内容

直接查看 FXML 文件,我发现了这个:

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefWidth="0.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="sudokusolver.FXMLDocumentController">

但我无法在任何地方找到“-Infinity”的可能替代值。我正在尝试按照以下方式做一些事情:

Screen.getPrimary().getVisualBounds().getHeight() / 2;

关于如何自定义这样的值有什么提示或想法吗?

最佳答案

嗯嗯,好的...

我不确定你在找什么,如果你需要将窗口的高度和宽度设置为用户屏幕高度和宽度的一半,有很多方法,最简单的是这样的:

public class Main extends Application
{
    public void start(Stage primaryStage) throws Exception
    {

        Parent page = (Parent) FXMLLoader.load(Main.class.getResource("Untitled.fxml"));

        // get the user's screen size
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

        // get width and height of screen and divide them by two
        double width = screenSize.getWidth()/2;
        double height = screenSize.getHeight()/2;

        // set the result to the scene
        Scene scene = new Scene(page,width,height);
        primaryStage.setScene(scene);
        primaryStage.setTitle("Window with half size of screen");
        primaryStage.show();
    }

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

    }
}

此外,您还说过“固定窗口的高度和宽度...”,如果您的意思是禁止用户调整窗口大小,那么您可以使用以下代码:

    primaryStage.setResizable(false);

关于JavaFX Scene Builder - 使用变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30112904/

相关文章:

Java:线程安全的 RandomAccessFile

java - 如何将图像文件加载到ImageView?

javafx - 如何在新的 JavaFx 错误跟踪器中查找错误

java - 如何将拖动的节点保持在其他节点前面(JavaFX 8)?

JavaFX 警告 : System can't support ConditionalFeature. SCENE3D

java - SoapFault 子节点中的 xmlns =""(空)命名空间

java - 在 Java 中,我如何设计一个既通用、简单又可读的 API

eclipse - 如何使用 JDK 11/Maven/Eclipse IDE 运行 JavaFX 应用程序

JavaFX 8 - 定位 HBox 的文本垂直中心

Java增量运算符查询(++i和i++)