Как установить шрифт в столбец в виде таблицы в java fx. У меня есть таблица с 3 столбцами, и я хочу установить разные шрифты для каждого столбца. Кроме того, возможно ли изменить шрифт во время выполнения. Пожалуйста, помогите с некоторым примером кода.Установить шрифт в javafx
ответ
Изменение стиля столбца таблицы:
Вы должны использовать TableColumn#setCellFactory() для настройки визуализации элемента ячейки.
Например, DataModel с, как это Person class:
// init code vs..
TableColumn firstNameCol = new TableColumn("First Name");
firstNameCol.setMinWidth(100);
firstNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("firstName"));
firstNameCol.setCellFactory(getCustomCellFactory("green"));
TableColumn lastNameCol = new TableColumn("Last Name");
lastNameCol.setMinWidth(100);
lastNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("lastName"));
lastNameCol.setCellFactory(getCustomCellFactory("red"));
table.setItems(data);
table.getColumns().addAll(firstNameCol, lastNameCol);
// scene create code vs..
и общим getCustomCellFactory()
метода:
private Callback<TableColumn<Person, String>, TableCell<Person, String>> getCustomCellFactory(final String color) {
return new Callback<TableColumn<Person, String>, TableCell<Person, String>>() {
@Override
public TableCell<Person, String> call(TableColumn<Person, String> param) {
TableCell<Person, String> cell = new TableCell<Person, String>() {
@Override
public void updateItem(final String item, boolean empty) {
if (item != null) {
setText(item);
setStyle("-fx-text-fill: " + color + ";");
}
}
};
return cell;
}
};
}
Изменение таблицы стиль заголовка столбца:
TableView
, как и другие элементы управления в JavaFX использует встроенную таблицу стилей с именем caspian.css
, которая поставляется вместе с jfxrt.jar. См. answer of "JavaFX 2 and CSS classes".
Чтобы изменить стиль шрифта столбца вы можете переопределить стиль по умолчанию или изменить его:
Переопределение:
.table-view .column-header{
-fx-text-fill: -fx-selection-bar-text;
-fx-font-size: 16;
-fx-font-family: "Arial";
}
пользовательской настройки:
#my-custom .table-view .column-header {
-fx-text-fill: red;
-fx-font-size: 26;
-fx-font-family: "Arial";
}
Переопределение эффекты все TableView
с в приложении. Так что, если вы предпочитаете, чтобы настроить то, как только вы определили несколько стилей, вы можете применить пользовательский стиль к любому Tableview во время выполнения, как,
myTableView.setId("my-custom");
...
// Apply another style at runtime
myTableView.setId("my-custom2");
Чтобы увидеть, как определить и стиль загрузки и центровки файлы приложения, проверить post of "JavaFX How to set scene background image" ,
Однако использование разных стилей для разных столбцов требует больше усилий, я думаю.
какой стиль (синтаксис), чтобы указать, что для столбца 1 используют это Stlye 1, column2 использование стиль 2
Supply a custom cell factory который поставляет cells, к которому вы обратились styleclasses вы определили в CSS. Связанная документация содержит примеры, которые должны предоставить вам достаточную информацию для достижения этой цели.
вы можете использовать FXML или CSS-файл, чтобы установить цвет шрифтов ......
# .mainFxmlClass {
-fx-font-family:nyala,Tahoma,Arial,Helvetica,sans-serif;
-fx-font-size:1.13em;
}
.label{
-fx-font-size:1.3em;
}
и звонить и использовать .lable или .mainFxmlClass в файле FXML
- 1. Установить шрифт JavaFx ComboBox?
- 2. Установить шрифт глобально в JavaFX
- 3. Как установить шрифт на временную шкалу в javafx
- 4. Пользовательский шрифт с JavaFX SceneBuilder
- 5. Установить шрифт в firemonkey
- 6. Установить шрифт в C#?
- 7. Javafx Как отобразить пользовательский шрифт в webview?
- 8. JavaFX-2 - установить несколько стилей
- 9. Как найти применимый шрифт на ярлыке JavaFX?
- 10. Установить конкретный шрифт в styles.xml
- 11. Как установить шрифт в Android?
- 12. Как установить шрифт в TextField
- 13. Установить шрифт программно в C#
- 14. Установить шрифт по ширине
- 15. AlivePdf как установить шрифт?
- 16. Как программно установить шрифт
- 17. Не удается установить шрифт
- 18. Как установить шрифт WebView
- 19. Установить шрифт из MenuItem
- 20. Где установить базовый шрифт?
- 21. Невозможно установить пользовательский шрифт
- 22. Установить Включить шрифт даты в полужирный шрифт в raddatepicker
- 23. Изменить шрифт по умолчанию для JavaFX WebView
- 24. JavaFX @ шрифт лицо ошибки CSS «loadStyleSheetUnprivileged»
- 25. JavaFX Вставить пользовательский шрифт не работает
- 26. Как указать шрифт по умолчанию в javafx WebView будет таким же, как шрифт UI по умолчанию
- 27. Установить ширину TextField в JavaFX
- 28. Установить форму кнопок в JavaFX
- 29. как установить шрифт в textview в android?
- 30. как установить шрифт в сетку в extjs
Спасибо за ваш ответ. Это было полезно. Этот стиль применяется для всех заголовков столбцов таблицы. Можно ли подать заявку на каждый столбец. В вашем примере .table-view .column-header { } применяется ко всему заголовку столбца. Мой вопрос заключается в том, какой стиль (синтаксис) должен указывать, что для столбца 1 используйте этот stlye 1, column2 use style 2 .... – user1332356
Я полностью неправильно понял ваш вопрос извинения :). Между тем, я полагаю, вы уже это сделали, но я отредактировал свой ответ для дальнейшего использования. –