在FXML中设置JavaFX TableView的占位符

时间:2014-12-09 09:35:51

标签: javafx tableview javafx-8 fxml

我知道以下问题有点奢侈问题:

我想尽可能保持我的FXML Controller的初始化,因此我想在FXML文件中设置我的TableView的占位符(因为我认为它是保留它的最佳位置,因为它只是一个属性,在我的情况下也是一个常数)。我已经尝试在FXML文件中设置它,如下所示:

<TableView placeholder="Some text">

这显然不起作用,因为占位符属性需要一个Node。这就是为什么我在FXML控制器的初始化中设置这样的占位符:

Label placeholder = new Label();
placeholder.setText("Some text");
tableview.setPlaceholder(placeholder);

这样可行,但正如我所说,我想仅从FXML文件中管理它。我的一些问题是:

如何在FXML文件中设置占位符?

注意:请告诉我这是否可行,因为如果不是,我会填写功能请求(当然优先级低!)。

2 个答案:

答案 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>

幸运的是它有效!我希望我也帮助你们中的一些人。另外,很抱歉这个问题太快了。