我想讓TextArea只讀,但是我設置TextArea的文本太長了,需要滾動。設置文本時會出現滾動條,但滾動條不起作用。帶有滾動條的只讀文本區域[JavaFx]
我使用的是.fxml文件來保存我用下面的代碼文本區:
<TextArea fx:id="consultantScheduleTextArea" editable="false" focusTraversable="false" prefHeight="454.0" prefWidth="597.0" visible="false" />
我的理解是,這是做它,所以我不能專注於它(如標籤的容器或點擊進入它),它不可編輯(所以我不能通過鍵入來改變文本),並且它不可見。我已經嘗試將focusTraversable設置爲true,而不會改變行爲。
在我的控制器中,當單擊按鈕時將可見性設置爲true,然後從db獲取一些字符串數據,並以某種方式對其進行格式化,然後執行此操作來設置TextArea的內容。
myTextArea.appendText(myString);
結果我的textarea裏充滿了我在myString的內容,滾動條自動創建的,因爲該字符串實際上是很多行(可以說300線),但我又不能滾動它。
任何幫助?
編輯:我沒有提到,這個TextArea被包裹在一個包裹在一個網格窗格中的堆棧窗格中。我根本不認爲這些問題,但以防萬一。這個層次結構是因爲它是我完整應用程序的一部分,而這只是其中一個GUI的一個組件。
我剛剛重新創建了你說的話,我沒有問題。確保你使用的是最新的jdk。 – Sedrick
我剛剛用一個很長的字符串試了一下。它需要一段時間來加載,但一旦加載滾動條工作。 – Sedrick
試試這個以確保你的gui沒有鎖定。只是一個瘋狂的猜測。 Platform.runLater(() - > {consultantScheduleTextArea.appendText(text.toString());});並儘可能使用StringBuilder。 – Sedrick