我知道以下问题有点奢侈问题:
我想尽可能保持我的FXML Controller的初始化,因此我想在FXML文件中设置我的TableView的占位符(因为我认为它是保留它的最佳位置,因为它只是一个属性,在我的情况下也是一个常数)。我已经尝试在FXML文件中设置它,如下所示:
<TableView placeholder="Some text">
这显然不起作用,因为占位符属性需要一个Node。这就是为什么我在FXML控制器的初始化中设置这样的占位符:
Label placeholder = new Label();
placeholder.setText("Some text");
tableview.setPlaceholder(placeholder);
这样可行,但正如我所说,我想仅从FXML文件中管理它。我的一些问题是:
如何在FXML文件中设置占位符?
注意:请告诉我这是否可行,因为如果不是,我会填写功能请求(当然优先级低!)。
答案 0 :(得分:12)
非常简单,只是通常的FXML语法:
<BorderPane xmlns:fx="http://javafx.com/fxml/1">
<center>
<TableView>
<placeholder>
<Label text="some text"/>
</placeholder>
</TableView>
</center>
注意:并非所有内容都是原始值(可以内联表示),因此需要自己的元素。
答案 1 :(得分:2)
我已经使用这个问题找到了答案:Styling a JavaFX 2 button using FXML only - How to add an image to a button?
图形标记触发了这样做的想法:
<TableView>
<placeholder><Label text="Some Text"></Label></placeholder>
</TableView>
幸运的是它有效!我希望我也帮助你们中的一些人。另外,很抱歉这个问题太快了。