删除空 javafx 表的默认“表中无内容”文本

2022-08-31 16:49:01

我想删除或更改空javafx表显示的默认文本,使其对用户更有意义。No content in table

例如,在显示学生的表中,当没有要显示的学生时,我希望它对课程表显示“数据库中没有学生”或“学生没有课程”。我不知道这在javafx中是否可行,无论是通过java代码,使用场景生成器,还是在IDE中编辑.fxml文件。到目前为止,我已经在场景生成器中查看了表视图的属性,但看不到此文本的相关属性


答案 1

您是对的,因为 TableView 控件没有直接操作表为空时显示的文本的 setter 方法。相反,您要做的是使用 TableView 的占位符属性,该属性可以设置为 Node 类型的任何对象。例如。。。String

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

答案 2

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

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

推荐