У меня есть javafx.scene.control.TableView
, содержащий некоторые javafx.scene.control.TableColumn
с, содержащие некоторые javafx.scene.control.TextField
с.Некоторые из TextFields
должны получить двухцветный фон: по диагонали, верхняя левая половина одного цвета, нижняя правая половина другого цвета.Как и ячейки для Ge, Sb, Po в https://de.wikipedia.org/wiki/Periodensystem#/media/Datei:Periodensystem_deutsch_-_neue_Farben.svg. Возможно ли это без фонового изображения?
Редактировать: добавлен некоторый код.Для простоты я опустил окружающий стол и теперь использую javafx.scene.text.Text
вместо javafx.scene.control.TextField
.Приведенная ниже базовая настройка дает единый фон для StackPane
, который является началом.
public class DividedBackgroundDemo extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Test: Diagonally divided colour background");
Text txt = new Text("Text");
txt.setFont(Font.font("Arial", FontWeight.BOLD, FontPosture.REGULAR, 50));
StackPane root = new StackPane();
root.getChildren().add(txt);
root.setStyle("-fx-background-color: blue;");
primaryStage.setScene(new Scene(root, 200, 200));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Позже, когда я буду использовать сетку 13x13 Text
, мне придется вставлять каждый Text
в свой собственный StackPane
или другой (возможно, более подходящий) подкласс Region
, чтобы иметь возможность предоставить индивидуально окрашенный фон для каждого Text
.И некоторые из этих Text
с (особенно тот, что в этом примере) должны иметь двухцветный фон, оба цвета разделенные линией от левого нижнего до правого верхнего угла.
Простым решением будетпредоставить фоновое изображение.Это не так уж сложно произвести.Но тогда я должен создать новое фоновое изображение для каждой пары цветов.Я бы предпочел более гибкое решение.
Все установщики свойств и свойства CSS, которые я обнаружил, предоставляют одноцветный фон.Но иногда мне требуется двухцветный.
Предлагаемый LineGradient
будет приемлемым, если все остальное не поможет.Я бы предпочел четкую границу между обоими цветами, а не градиент.