我试图将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的一个组件。
答案 0 :(得分:2)
好吧,那么如何将它放在堆栈窗格中,滚动不起作用。不知道为什么,但那发生了。
从堆栈窗格中展开,它可以正常工作。
答案 1 :(得分:1)
尝试在TextArea上使用它
myTextArea.setEditable(false);
这使您的文本区域只读,并使滚动条启用
答案 2 :(得分:0)
对于其他有类似问题的人。我的TextArea处于窗格中,作为儿童的第一个元素,并且textarea中的滚动条不起作用,我不得不将其移至最后一个元素,并且效果很好。