带滚动条的只读文本区[JavaFx]
我正在尝试将TextArea设置为只读,但是我将TextArea设置为的文本太长,需要滚动。设置文本后会出现一个滚动条,但滚动条不起作用 我正在使用.fxml文件保存文本区域,代码如下:带滚动条的只读文本区[JavaFx],java,javafx,textarea,fxml,Java,Javafx,Textarea,Fxml,我正在尝试将TextArea设置为只读,但是我将TextArea设置为的文本太长,需要滚动。设置文本后会出现一个滚动条,但滚动条不起作用 我正在使用.fxml文件保存文本区域,代码如下: <TextArea fx:id="consultantScheduleTextArea" editable="false" focusTraversable="false" prefHeight="454.0" prefWidth="597.0" visible="false" /> 结果是我的文
<TextArea fx:id="consultantScheduleTextArea" editable="false" focusTraversable="false" prefHeight="454.0" prefWidth="597.0" visible="false" />
结果是我的文本区域充满了我在myString中的内容,滚动条是自动创建的,因为字符串实际上有很多行(比如说300行),但是我不能滚动它
有什么帮助吗
编辑:我没有提到,这个文本区域被包装在一个stackpane中,它被包装在一个gridpane中。我认为这些都无关紧要,只是以防万一。这种层次结构是因为它是我拥有的一个完整应用程序的一部分,而这只是其中一个GUI上的一个组件。尝试在您的TextArea上使用它
myTextArea.setEditable(false);
这将使您的文本区域成为只读,并将使滚动条启用尝试在您的文本区域上使用它
myTextArea.setEditable(false);
这将使您的文本区域成为只读,并将使滚动条启用正常,因此,当它位于堆栈窗格中时,滚动条无法工作。不知道为什么,但事情发生了
从堆栈窗格中展开,它可以正常工作。好的,所以当它在堆栈窗格中时,滚动不起作用。不知道为什么,但事情发生了
从堆栈窗格中展开,它工作正常。适用于任何其他有类似问题的人。我的文本区域作为孩子们的第一个元素出现在一个窗格中,文本区域中的滚动条不起作用,我必须将其移动到最后一个元素,它工作正常。对于其他有类似问题的人。我的TextArea作为孩子们的第一个元素出现在一个窗格中,TextArea中的滚动条不起作用,我不得不将它移到最后一个元素,它工作得很好。我在fxml中这样做。。。editable=“false”正如您所说,我在代码中这样做,而不是fxml,仍然不起作用,这些函数相同,所以我不这么认为。无论如何都尝试过:)你到底在哪里添加的?在代码的哪个部分添加它?在FXML上,当您创建一个项目时,可以在那里设置属性。也可以在控制器中进行设置。我已经做了这两件事,使其可编辑(假),也没有工作。好的,请删除您所做的任何编辑。将其恢复为默认值,并在构造函数中使用此代码,然后告诉我在fxml中执行此操作的结果。。。editable=“false”正如您所说,我在代码中这样做,而不是fxml,仍然不起作用,这些函数相同,所以我不这么认为。无论如何都尝试过:)你到底在哪里添加的?在代码的哪个部分添加它?在FXML上,当您创建一个项目时,可以在那里设置属性。也可以在控制器中进行设置。我已经做了这两件事,使其可编辑(假),也没有工作。好的,请删除您所做的任何编辑。将其恢复为默认值,并在构造函数中使用此代码,然后告诉我结果。我刚刚重新创建了您所说的操作,我没有问题。请确保您使用的是最新的jdk。我只是用一个很长的字符串尝试了一下。加载需要一段时间,但一旦加载,滚动条就会工作。请尝试此操作以确保您的gui未锁定。只是胡乱猜测。Platform.runLater(()->{consultantsScheduleTextArea.appendText(text.toString());});我不认为GUI会被锁定,因为我可以立即单击其他元素并改变周围的场景。我一直在使用字符串生成器,直到.appendText()调用中的text.toString()。我也在最新的JDK上,哈哈。他们只是胡乱猜测。我无法重现你的问题。我只是重现了你所说的你所做的,我没有问题。请确保您使用的是最新的jdk。我只是用一个很长的字符串尝试了一下。加载需要一段时间,但一旦加载,滚动条就会工作。请尝试此操作以确保您的gui未锁定。只是胡乱猜测。Platform.runLater(()->{consultantsScheduleTextArea.appendText(text.toString());});我不认为GUI会被锁定,因为我可以立即单击其他元素并改变周围的场景。我一直在使用字符串生成器,直到.appendText()调用中的text.toString()。我也在最新的JDK上,哈哈。他们只是胡乱猜测。我无法重现你的问题。