동일한 질문을 in oracle javafx forum에도 올렸지 만 답변을 얻지 못했습니다. 그래서 여기에 내 운을 시험해보십시오.TextArea 높이 관련 내용
텍스트 영역의 내용이 데이터베이스에서 동적으로 채워지는 요구 사항이 있습니다. 텍스트 영역의 데이터를 성공적으로 검색하고 표시 할 수 있습니다.
그러나 콘텐츠가 너무 크면 텍스트 영역의 높이를 동적으로 설정할 수 없습니다. 라벨을 동일하게 표시하려고하면 디스플레이가 완벽 해지고 콘텐츠 당 높이가 동적으로 설정됩니다. 그래서 같은 내용의 레이블을 만들고 아래 높이와 같이 높이를 동적으로 바인딩하려고 시도했지만 작동하지 않습니다.
// Generate User Note Description
TextArea textArea = new TextArea();
Label text = new Label();
// SETTING THE TEXT TO A LABEL TO RETRIEVE THE HEIGHT
text.setText(usrNotes.getNote().trim());
// ALWAYS DISPLAYS 0.0
System.out.println("height::"+text.getHeight());
if (isMyNote) {
// ALWAYS SETS TO THE MINIMUM HEIGHT OF 60.0
textArea.setText(usrNotes.getNote().trim());
textArea.setPrefWidth(Screen.getPrimary().getVisualBounds().getWidth() - 500.0);
textArea.setWrapText(true);
textArea.setMinHeight(60.0);
// WITHOUT THIS BINDING, DISPLAYS LOT OF EXTRA SPACE AFTER THE TEXT
textArea.prefHeightProperty().bind(text.heightProperty());
textArea.setStyle("-fx-padding:0 5 2 1; -fx-font-size: 1.1em;-fx-background-color:white");
} else if (!isMyNote) {
// THIS IS PERFECT, AS EXPECTED SETS THE HEIGHT DYNAMICALLY
text.setText(usrNotes.getNote().trim());
text.setStyle("-fx-padding:0 5 2 1;");
text.setStyle("-fx-border-color: white;-fx-font-size: 1.1em;-fx-background-color:#F5F5F5;");
text.setWrapText(true);
text.setPrefWidth(Screen.getPrimary().getVisualBounds().getWidth() - 500.0);
text.setMinHeight(60.0);
}
누군가가이 문제를 해결하는 방법에 대한 힌트를 제공 할 수 있다면 매우 감사하겠습니다.
덕분 이유를