由於某種原因,JavaFX的ToolBar
僅提出了兩種用於項目對齊的選項:LEFT_TO_RIGHT
和RIGHT_TO_LEFT
。如何指定您希望工具欄中的元素居中?
而且有趣的是,如果這是RIGHT_TO_LEFT
你有相反的順序使他們出現自然給指定商品......
但是我沒有看到任何選項在位元件中心。你如何實現這一目標?或者我必須使用別的東西而不是工具欄?
編輯:這裏是當前的代碼......不幸的是,這並不工作:(
FXML:
<BorderPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.fge.grappa.debugger.csvtrace.tabs.linechart.LineChartTabDisplay">
<top>
<ToolBar fx:id="toolbar">
<HBox fx:id="hbox" alignment="CENTER">
<Region fx:id="leftSpacer"/>
<Button text="Refresh"/>
<ProgressBar visible="false"/>
<Label text="Layout testing"/>
<Region fx:id="rightSpacer"/>
</HBox>
</ToolBar>
</top>
</BorderPane>
類:
public class LineChartTabDisplay
extends JavafxDisplay<LineChartTabPresenter>
{
public Region leftSpacer;
public Region rightSpacer;
public ToolBar toolbar;
public HBox hbox;
@Override
public void init()
{
HBox.setHgrow(leftSpacer, Priority.SOMETIMES);
leftSpacer.setMinWidth(Region.USE_PREF_SIZE);
HBox.setHgrow(rightSpacer, Priority.SOMETIMES);
rightSpacer.setMinWidth(Region.USE_PREF_SIZE);
}
}
但這是它給出的:
所以,我認爲我的項目被封閉在一個'HBox'中......我這樣做了,但不幸的是,HBox似乎不想將其寬度擴展到「ToolBar」的寬度s :(如果我嘗試將'.prefWidthProperty()'綁定到工具欄的'widthProperty()'它是完全搞砸了......我不知道爲什麼應該是簡單的事情是如此複雜:(請參閱編輯問題 – fge 2015-02-07 16:01:01
在我的工具欄上這個間隔區域'工作得很好..那麼我運氣不好。你是否設置了「minWidth」? – eckig 2015-02-07 16:12:49
最小寬度? HBox?不,我沒有。我的代碼實際上就像您在問題中看到的那樣... – fge 2015-02-07 16:16:11