为空javafx表删除默认的“表中没有内容”文本

时间:2014-07-15 18:29:03

标签: java javafx javafx-8 fxml scenebuilder

我想将空{javafx表'显示的默认文本从No content in table删除或更改为对用户更有意义的内容。

例如,在一个显示学生的表格中,当没有学生要展示时,我希望它在课程表中说“数据库中没有学生”或“学生没有课程”。我不知道在javafx中是否可以通过Java代码,使用场景构建器或在IDE中编辑.fxml文件。到目前为止,我已经在场景构建器中查看了tableview的属性,但是我看不到此文本的相关属性

2 个答案:

答案 0 :(得分:86)

你是正确的,因为 TableView 控件没有String setter方法直接操作表格所显示的文字空。你想要做的是使用TableView的placeholder property,它可以设置为 Node 类型的任何对象。例如......

myTableView.setPlaceholder(new Label("My table is empty message"));

答案 1 :(得分:34)

您也可以通过添加带有空标签的占位符从* .fxml文件中执行此操作。

<TableView>
    <placeholder>
        <Label text=""/>
    </placeholder>
    <columns>
        <TableColumn text="Column1"/>
        <TableColumn text="Column2"/>
    </columns>
</TableView>