我一直在try 制作一个简单的用户界面,在BorderLayout的顶部部分有一个菜单栏,在中央部分有4个表视图.我想要的是,这4个表应该显示像一个2x2矩阵.我的意思是2行2列,然后这些表格应该根据屏幕大小或我调整框架的大小而增大和缩小.
表的视图和高度的增长和缩小都很好.但是我不能调整宽度.我想要的是,我想要一个响应性的桌子设计.当我调整框架的大小时,表格的高度和宽度应该会增大和缩小.高度部分工作正常,但我无法实现宽度的这一功能.
以下是我的FXML代码
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<BorderPane xmlns="http://javafx.com/javafx/20.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ui_designs.HelloController">
<top>
<MenuBar BorderPane.alignment="CENTER">
<menus>
<Menu mnemonicParsing="false" text="Bills">
<items>
<MenuItem mnemonicParsing="false" text="Walk In Bill" />
<MenuItem mnemonicParsing="false" text="Account Holder Bill" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Stock">
<items>
<MenuItem mnemonicParsing="false" text="Add New Product" />
<MenuItem mnemonicParsing="false" text="Purchase Request" />
<MenuItem mnemonicParsing="false" text="Stock Arrival" />
<MenuItem mnemonicParsing="false" text="Stcok Exchange" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Accounts">
<items>
<MenuItem mnemonicParsing="false" text="Add Account Holder" />
<MenuItem mnemonicParsing="false" text="Account Holder's Transactions" />
<MenuItem mnemonicParsing="false" text="Company Accounts" />
<MenuItem mnemonicParsing="false" text="Company Transactions" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Reports">
<items>
<MenuItem mnemonicParsing="false" text="Daily Report" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="About">
<items>
<MenuItem mnemonicParsing="false" text="About" />
</items>
</Menu>
</menus>
</MenuBar>
</top>
<center>
<VBox alignment="CENTER" spacing="10.0" BorderPane.alignment="CENTER">
<HBox spacing="10.0">
<!-- First VBox with TableView -->
<VBox spacing="10.0">
<children>
<Label text="Table 1 Heading" />
<TableView>
<columns>
<TableColumn text="Column 1" />
<TableColumn text="Column 2" />
</columns>
</TableView>
</children>
</VBox>
<!-- Second VBox with TableView -->
<VBox spacing="10.0">
<children>
<Label text="Table 2 Heading" />
<TableView>
<columns>
<TableColumn text="Column 1" />
<TableColumn text="Column 2" />
</columns>
</TableView>
</children>
</VBox>
</HBox>
<HBox spacing="10.0">
<children>
<VBox spacing="10.0">
<children>
<Label text="Table 1 Heading" />
<TableView>
<columns>
<TableColumn text="Column 1" />
<TableColumn text="Column 2" />
</columns>
</TableView>
</children>
</VBox>
<VBox spacing="10.0">
<children>
<Label text="Table 2 Heading" />
<TableView>
<columns>
<TableColumn text="Column 1" />
<TableColumn text="Column 2" />
</columns>
</TableView>
</children>
</VBox>
</children>
</HBox>
</VBox>
</center>
</BorderPane>