JavaFX TextArea setCursor无法正常工作

时间:2014-09-02 18:28:22

标签: javafx cursor textarea

我遇到问题让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也能正常工作?

谢谢!

1 个答案:

答案 0 :(得分:2)

你的FXML解析得很好,虽然它没有达到预期的效果。我不确定为什么它会给你错误。

它没有生成所需光标的原因是Text节点被放置为ScrollPane的内容。默认情况下,在Text节点上设置游标,因此如果将游标直接设置在TextArea上,则不会继承该游标。

最简单的方法是使用外部CSS文件:

.text-area .content {
    -fx-cursor: DEFAULT ;
}