2012-01-23 2 views
12

im пытается изменить фон и текстовый цвет TextArea в javafx-2.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()); 

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

ответ

19

Ваш последний 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());   

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

+0

Спасибо, теперь, когда у него это общее, имеет смысл :) – Rouby

Смежные вопросы