带有滚动条的只读TextArea [JavaFx]

时间:2017-02-14 21:28:18

标签: java javafx textarea fxml

我试图将TextArea设为只读,但我将TextArea设置为的文本需要滚动很长时间。设置文本时会出现滚动条,但滚动条不起作用。

我正在使用.fxml文件来保存我的TextArea,其代码如下:

<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的一个组件。

3 个答案:

答案 0 :(得分:2)

好吧,那么如何将它放在堆栈窗格中,滚动不起作用。不知道为什么,但那发生了。

从堆栈窗格中展开,它可以正常工作。

答案 1 :(得分:1)

尝试在TextArea上使用它

myTextArea.setEditable(false);

这使您的文本区域只读,并使滚动条启用

答案 2 :(得分:0)

对于其他有类似问题的人。我的TextArea处于窗格中,作为儿童的第一个元素,并且textarea中的滚动条不起作用,我不得不将其移至最后一个元素,并且效果很好。