我正在使用 BorderPane,其中右侧区域未使用。在中心区域,我有一个带有 Canvas 的 HBox 和另一个控件,例如一个 Button。我希望 Canvas 具有相同的宽度和高度,值为
Canvas width and height = minimum{maximum possible Canvas height, maximum possible Canvas width}
(换句话说:画布应该是正方形)
我的问题是:如何确定 Canvas 可以增长到的最大宽度和最大高度?
这是我的 FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<BorderPane id="BorderPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml">
<bottom>
<Label text="Bottom area" />
</bottom>
<center>
<HBox>
<children>
<Canvas width="300" height="300" />
<Button mnemonicParsing="false" text="some button next to the Canvas" />
</children>
</HBox>
</center>
<left>
<Button mnemonicParsing="false" text="Left area"/>
</left>
<top>
<MenuBar>
<menus>
<Menu mnemonicParsing="false" text="File">
<items>
<MenuItem mnemonicParsing="false" text="Close" />
</items>
</Menu>
</menus>
</MenuBar>
</top>
</BorderPane>
感谢您的任何提示!