我遇到问题让setCursor()在TextArea中正常工作。我没有看到任何其他搜索结果与此有关的问题,并且可能正在做一些愚蠢的事情,因为还没有其他人解决这个问题。我尝试了不同的选择,没有运气。以下是一些尝试:
以下编码使得只有外边缘受到setCursor的影响。
textArea.setCursor(Cursor.DEFAULT);
在FXML中,如果我使用Scene Builder添加它,我会得到以下内容。
<TextArea fx:id="textArea" prefHeight="458.0" prefWidth="766.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
<cursor>
<Cursor fx:constant="DEFAULT" />
</cursor>
</TextArea>
它给了我一个错误,所以我添加了导入...
<?import javafx.scene.Cursor?>
然后它给了我一个错误,说&#34; javafx.scene.Cursor的实例不能由FXML加载器创建。&#34;没有提供任何提示。
我知道对于ComboBoxes,我必须做以下事情:
comboBox.getEditor().setCursor(Cursor.DEFAULT);
我是否还有某些方法可以让TextArea也能正常工作?
谢谢!
答案 0 :(得分:2)
你的FXML解析得很好,虽然它没有达到预期的效果。我不确定为什么它会给你错误。
它没有生成所需光标的原因是Text
节点被放置为ScrollPane
的内容。默认情况下,在Text
节点上设置游标,因此如果将游标直接设置在TextArea
上,则不会继承该游标。
最简单的方法是使用外部CSS文件:
.text-area .content {
-fx-cursor: DEFAULT ;
}