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

按钮的JavaFX Hbox不会填满BorderPane底部容器的空间

平俊茂
2023-03-14

我试图用按钮填充边框窗格的底部容器。根据JavaFX文档,按钮应设置为prefHeight,宽度应填充容器。我将所有子对象的maxWidth设置为无穷大,因此我知道子对象的maxWidth不会阻止调整大小。有关fxml,请参见下文。

 <BorderPane>
        <top>
            <VBox>
                <Label text="This is a message"/>
                <HBox>
                    <TextField>Text 1</TextField>
                    <TextField>Text 2</TextField>
                    <TextField>Text 3</TextField>
                </HBox>
            </VBox>
        </top>

        <center>
            <TableView>

            </TableView>
        </center>

        <bottom>
            <HBox maxWidth="Infinity">
                <Button maxWidth="Infinity">Button 1</Button>
                <Button maxWidth="Infinity">Button 2</Button>
                <Button maxWidth="Infinity">Button 3</Button>
                <Button maxWidth="Infinity">Button 4</Button>
                <Button maxWidth="Infinity">Button 5</Button>
            </HBox>
        </bottom>

    </BorderPane>

共有1个答案

浦德义
2023-03-14

hgrow将为子节点设置水平增长优先级。P

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<BorderPane xmlns="http://javafx.com/javafx/8">
    <top>
        <VBox>
           <children>
               <Label text="This is a message" />
               <HBox>
                  <children>
                      <TextField>Text 1</TextField>
                      <TextField>Text 2</TextField>
                      <TextField>Text 3</TextField>
                  </children>
               </HBox>
           </children>
        </VBox>
    </top>

    <center>
        <TableView>

        </TableView>
    </center>

    <bottom>
        <HBox maxWidth="Infinity">
           <children>
               <Button maxWidth="Infinity" HBox.hgrow="ALWAYS">Button 1</Button>
               <Button maxWidth="Infinity" HBox.hgrow="ALWAYS">Button 2</Button>
               <Button maxWidth="Infinity" HBox.hgrow="ALWAYS">Button 3</Button>
               <Button maxWidth="Infinity" HBox.hgrow="ALWAYS">Button 4</Button>
               <Button maxWidth="Infinity" HBox.hgrow="ALWAYS">Button 5</Button>
           </children>
        </HBox>
    </bottom>

</BorderPane>
 类似资料:
  • 我正在手工编写一个自定义JPanel,称之为MyPanel,它包含两个jLabel和两个jTextBox。此JPanel将在JFrame中使用,JFrame包含使用CardLayout的其他JPanel。JFrame不可调整大小;它的大小基于组件最多的JPanel而固定。 由于MyPanel很少使用控件,因此我正在尝试找出使用的最佳布局管理器。我希望标签和文本字段显示在靠近顶部的位置,并在底部留有

  • 我有一个,我想把它放在BorderPane的底部并居中。我想用实现这一点。 这是我的边界窗格的底部: 完整的(没有导入):

  • null 这似乎并不复杂,但我就是做不到 有什么想法吗?

  • 所以我试图让我的按钮在我的导航抽屉碎片中打开新的活动,但是我的mainactivity中有什么东西坏了。java 我的mainactivity.java.... 我的奖励碎片... } 问题是它在下有一个红色下划线,我不知道如何修复它 我试过了所有的办法,这就是我目前所拥有的… } 我的setContentView是鲜红的,我的findViewByID是红色的,最后是(rewardsFragmen

  • 我已经以编程方式创建了,但它下面有一些额外的空间(准确地说是29像素)。 以下是初始化表的方式: 以下是限制条件: 我尝试将页脚视图设置为零,并将其高度返回零: 我动态改变它的高度,根据内容: 我还将设置为。这就是最终的结果。单元格和空白之间有分隔符,但底部不是单元格。

  • 我的tableview在底部有一个额外的空间,如图所示: tableView中的所有行都具有71pt的固定高度。