当前位置: 首页 > 知识库问答 >
问题:

使用FXML(JavaFX)中的窗口调整内容大小

柳修平
2023-03-14

如何在FXML(JavaFX)中获得用户调整大小后的新窗口大小?我已经搜索了一个“onResizeWindow”方法,但我什么也没有找到。

<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1" fx:controller="testJavaFXML.Controller">
   <padding>
      <Insets bottom="200.0" left="200.0" right="200.0" top="200.0" />
   </padding>
   <children>
      <ToolBar prefWidth="600.0">
        <items>
            <Button fx:id="buttonPlay" mnemonicParsing="false" onAction="#handlePlayButtonAction" text="Play" />
            <Button fx:id="buttonPause" mnemonicParsing="false" onAction="#handlePauseButtonAction" text="Pause" />
            <Button fx:id="buttonStop" mnemonicParsing="false" onAction="#handleStopButtonAction" text="Stop" />
        </items>
      </ToolBar>
      <Label fx:id="labelHelloWorld" layoutX="250.0" layoutY="187.0" text="Hello World!" />
   </children>
</Pane>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Pane prefHeight="200.0" prefWidth="200.0">
         <children>
            <ToolBar prefWidth="600.0">
              <items>
                  <Button fx:id="buttonPlay" mnemonicParsing="false" onAction="#handlePlayButtonAction" text="Play" />
                  <Button fx:id="buttonPause" mnemonicParsing="false" onAction="#handlePauseButtonAction" text="Pause" />
                  <Button fx:id="buttonStop" mnemonicParsing="false" onAction="#handleStopButtonAction" text="Stop" />
              </items>
            </ToolBar>
         </children>
      </Pane>
       <Label fx:id="labelHelloWorld" text="Hello World!" />
   </children>
</StackPane>

共有1个答案

龚承嗣
2023-03-14

你可以听舞台的宽度和高度:

stage.widthProperty().addListener((ov, oldWidth, newWidth) -> someAction);

但更好的方法是使用适当的LayoutPane,例如处理大小调整的BorderPane

 类似资料:
  • 我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:

  • 我的场景中有一个对象。我希望能够调整窗口的大小,并与它一起调整窗格的大小。我还想在窗格旁边放置一个。 到目前为止,我已经成功地生成了一个完全可调整大小的或一个,其中包含和对象,但当我调整窗口大小时,窗格不会随之调整大小。 以下是带有锚烷的FXML: 只有的版本基本上就是版本中使用的代码,但具有和属性。 如何制作一个场景,使其具有可调整大小的和?

  • 我是Javafx新手,我正在从事Javafx项目。我想最小化javafx窗口。我使用初级阶段。initStyle(舞台风格。未装饰)。我还想将clickevent添加到fxml中的imageview中。

  • 我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。

  • 窗口大小,我们可以非常方便的使用width、height调整,但是如何知道 width和height是一个问题? 在 Window 操作系统中,假如我们想要缩放,我们通常会把鼠标移动到窗口的右边栏,和底部边栏,以及右下边栏。 而且在不同的边栏,鼠标呈现的样式也是不一样的。当我们在右边栏的时候我们可以通过cursor: e-resize;模拟鼠标样式。 在底部边栏我们可以通过cursor: s-re

  • #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j