JavaFX-2 - установить несколько стилей - PullRequest
14 голосов
/ 23 января 2012

я пытаюсь изменить фон и цвет текста TextArea в javafx-2.

    myComponent = new TextArea();
    myComponent.setStyle("-fx-text-fill: white;");
    myComponent.setStyle("-fx-background-color: black;");
    myComponent.setStyle("-fx-font: " + GUIConstants.SysResponseFont.getName());
    myComponent.setStyle("-fx-font-family: " + GUIConstants.SysResponseFont.getFamily());
    myComponent.setStyle("-fx-font-size: " + GUIConstants.SysResponseFont.getSize());
    myComponent.setStyle("-fx-font-weight: " + GUIConstants.SysResponseFont.getStyle());

Ни цвета, ни шрифт не установлены в этой TextArea. Должен ли я использовать другой подход?

1 Ответ

22 голосов
/ 23 января 2012

Ваш последний setStyle() отменяет предыдущие.Следующий код установит несколько стилей:

    myComponent.setStyle("-fx-text-fill: white;"+
    "-fx-background-color: black;"+
    "-fx-font: Courier New;"+
    "-fx-font-family: Courier New;"+
    "-fx-font-weight: bold;"+
    "-fx-font-size: 30;");

Я предполагаю, что для вашего кода это будет:

myComponent = new TextArea();
myComponent.setStyle(
    "-fx-text-fill: white;"+
    "-fx-background-color: black;"+
    "-fx-font: " + GUIConstants.SysResponseFont.getName()+ ";" +
    "-fx-font-family: " + GUIConstants.SysResponseFont.getFamily()+ ";" +
    "-fx-font-size: " + GUIConstants.SysResponseFont.getSize()+ ";" +
    "-fx-font-weight: " + GUIConstants.SysResponseFont.getStyle());        

Обратите внимание на знаки ; в конце строк.

...