Подтвердить что ты не робот

Удалите текст по умолчанию "no content in table" для пустой таблицы javafx

Я хотел бы удалить или изменить текст по умолчанию, отображаемый пустой таблицей javafx из No content in table, в нечто более значимое для пользователя.

Например, в таблице, показывающей учеников, когда нет учеников, чтобы показать, я хочу, чтобы она говорила "Нет студентов в базе данных" или "Ученика нет курсов" для таблицы курсов. Я не знаю, возможно ли это в javafx, либо с помощью java-кода, либо с помощью сценария, либо путем редактирования файла .fxml в среде IDE. Пока я просмотрел свойства tableview в построителе сцен, и я не вижу связанного с ним свойства для этого текста.

4b9b3361

Ответ 1

Вы правы в том, что элемент TableView не имеет метода set String, который напрямую манипулирует текстом, отображаемым, когда таблица пуста. Вместо этого вы должны использовать свойство TableView placeholder, которое может быть установлено для любого объекта типа Node. Например...

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

Ответ 2

Вы также можете сделать это из файла *.fxml, добавив placeholder с пустой меткой.

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