【问题标题】:JavaFX TextArea setCursor not workingJavaFX TextArea setCursor 不起作用
【发布时间】:2014-09-02 18:28:21
【问题描述】:

我在让 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?>

然后它给了我一个错误,说“FXML 加载器无法创建 javafx.scene.Cursor 的实例。”没有提供任何提示。

我知道对于 ComboBoxes,我必须执行以下操作:

comboBox.getEditor().setCursor(Cursor.DEFAULT);

有什么方法可以让 TextArea 也能正常工作吗?

谢谢!

【问题讨论】:

    标签: javafx cursor textarea


    【解决方案1】:

    您的 FXML 对我来说解析得很好,尽管它没有达到预期的效果。我不知道为什么它会给你错误。

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

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

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

    【讨论】:

    • 非常感谢!那行得通。当我看到你的回复时,我忘记了我也必须这样做才能改变背景。再次感谢您。
    猜你喜欢
    • 2013-03-13
    • 2019-01-07
    • 1970-01-01
    • 2022-09-06
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    相关资源
    最近更新 更多