簡體   English   中英

如何在 Java FX 工具欄中右對齊按鈕

[英]How to right align a button in Java FX toolbar

我正在使用 Java FX 場景構建器構建 UI,我希望工具欄中的按鈕浮動到工具欄的右側。 我曾嘗試更改父(工具欄)和按鈕的節點方向,但似乎都被忽略了。

添加一個沒有內容的窗格,該窗格始終增長以適應欄中左對齊工具和右對齊工具之間的可用空間。

工具

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

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<ToolBar prefHeight="40.0" prefWidth="318.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
   <Button text="Apples" />
   <Button text="Oranges" />
   <Pane HBox.hgrow="ALWAYS" />
   <Button text="Help" />
</ToolBar>

(在 Scene Builder 11.0.0 中驗證)

一種選擇:使用兩個用 HBox 容器包裝的 ToolBar 容器。 將幫助按鈕放在右側的工具欄中。 將左對齊按鈕放在左側工具欄中。 對於左側 ToolBar,將 HGrow 設置為ALWAYS 對於 Right ToolBar,將 HGrow 設置為NEVER 對於每個 ToolBar,將所有 Sizes 設置為USE_COMPUTED_SIZE

這是相關的fxml:

<HBox VBox.vgrow="NEVER">
  <children>
    <ToolBar HBox.hgrow="ALWAYS">
      <items>
        <Button text="Apples" />
        <Button text="Oranges" />
      </items>
    </ToolBar>
    <ToolBar HBox.hgrow="NEVER">
      <items>
        <Button text="Help" />
      </items>
    </ToolBar>
  </children>
</HBox>

這是 Scene Builder 中顯示的層次結構:

場景生成器層次結構

這是 Scene Builder 中的顯示:

場景生成器中的結果

如果您可以將您的按鈕放在堆棧窗格中,那么您可以利用 Stackpane 的對齊屬性,該屬性采用 javafx.geometry.Pos - 堆棧窗格內子項的對齊方式。例如在您的情況下:

<StackPane >
<Button translateY="-15" translateX="15"  StackPane.alignment="TOP_RIGHT"/>
</StackPane>
BorderPane mainBorderPane = new BorderPane();     
BorderPane ToolBorderPane = new BorderPane();     
ToolBar tBarLeft=new ToolBar();      
ToolBar tBarRight=new ToolBar();     
ToolBorderPane.setLeft(tBarLeft);      
ToolBorderPane.setRight(tBarRight);      
mainBorderPane.setTop(ToolBorderPane);   

... ...為您的左對齊項目添加 tBarLeft 和您的右對齊項目添加 tBarRight

可以通過一些技巧來完成:為工具欄及其所有按鈕應用圍繞 Y 軸的 180 度旋轉。

<ToolBar rotate="-180.0" HBox.hgrow="ALWAYS">
  <items>
    <Button mnemonicParsing="false" rotate="180.0" text="Button">
      <rotationAxis>
        <Point3D y="1.0" />
      </rotationAxis>
    </Button>
  </items>
  <rotationAxis>
    <Point3D y="1.0" />
  </rotationAxis>
</ToolBar>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM