반응형
JavaFX Text style 변경 TextArea, TextFrow
결론부터 말씀드리면 TextArea의 Text 속성은 변경이 안됩니다.
public void appendLog(String log){
Text t1 = new Text(log);
t1.setStyle("-fx-fill: RED;-fx-font-weight:bold;");
textArea.appendText(t1.toString());
}
위처럼 아무리 해봐도 log내용+"-fx-fill: RED;-fx-font-weight:bold;" 이 붙어서 출력이 되죠.
그렇기 때문에 TextArea와 기능은 같지만 단순 출력이 아닌 Text의 속성을 변경해야 할 경우에는
TextFlow를 활용합니다.
public void appendLog(String log){
Text t1 = new Text(log);
t1.setStyle("-fx-fill: RED;-fx-font-weight:bold;");
textFlow.getChildren().add(t1);
}
위와 같이 textFlow객채의 children에 접근하여 text를 add 해주시면 됩니다.
위와 같이 style이 적용된 것을 확인 하실 수 있습니다.
참고) https://stackoverflow.com/questions/29149504/how-to-append-multicolor-text-in-javafx-textarea
반응형
'Programing > JavaFX' 카테고리의 다른 글
JavaFX favicon, icon 적용하는 방법 (0) | 2019.10.31 |
---|---|
JavaFX + SceneBuilder TextFlow 스크롤 추가 및 포커스 설정 (0) | 2019.10.29 |
JavaFX UI변경하기, 변경시 주의점. Not on FX application thread (0) | 2019.10.28 |
Springboot + JavaFX + SceneBuilder 새창열기 open new window (0) | 2019.10.25 |
Springboot + JavaFX + SceneBuilder menu 추가 방법 (0) | 2019.10.24 |
댓글