2012-01-23 19 views
12

Estoy tratando de cambiar el fondo y el color del texto de un TextArea en javafx-2.JavaFX-2 - establecer varios estilos

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()); 

Ni los colores ni la fuente se configuran en este TextArea. ¿Tengo que usar un enfoque diferente?

Respuesta

19

Su última setStyle() prevalece sobre las anteriores. código siguiente establecerá varios estilos:

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;"); 

supongo para su fragmento de código sería:

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());   

Nota ; las señales situadas en el extremo de las líneas.

+0

Gracias, ahora que dices esto, tiene sentido :) – Rouby

Cuestiones relacionadas