我想要更改TextArea游标,但使用以下命令时没有任何react :

numTextArea.setCursor(Cursor.DISAPPEAR);

推荐答案

默认皮肤TextArea包括一个"内容区域",其中is documented表示为Region.正是这个内容区域将其光标设置为Cursor.TEXT(default user agent stylesheet).由于鼠标悬停在内容区域上,而不是直接悬停在文本区域上,因此您看到的是内容区域的光标,而不是文本区域.

更改光标的最简单方法可能是使用css.

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

他说: 然后将样式表添加到场景(或文本区域,或祖先布局).例如:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;

public class Main extends Application {

    private static final String CSS = """
            .text-area .content {
                -fx-cursor: hand;
            }
            """.stripIndent();

    @Override
    public void start(Stage primaryStage) {
        Scene scene = new Scene(new TextArea(), 500, 300);
        scene.getStylesheets().add("data:text/css," + CSS);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

Note:以上通过data URL将样式集添加到场景中.这需要使用JavaFX 17+.

本例使用Cursor.HAND,因为Cursor.DISAPPEAR刚刚给了我在带有Java/JavaFX 20.0.1的Windows10上的默认光标.我不确定这是不是个窃听器.

注您可以在css中使用nullinherit表示-fx-cursor,然后在代码中设置文本区域的光标(就像您当前正在try 做的那样).

Java相关问答推荐

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

在Java 8之后,HashMap的最坏情况下时间复杂度仍然是O(n)而不是O(log n)?

Java Streams在矩阵遍历中的性能影响

Springdoc Whitelabel Error Page with Spring V3

使用联接和分页的SpringBoot Spring数据JPA

编译多个.Java文件并运行一个依赖于用户参数的文件

AssertJ Java:多条件断言

在AVL树的Remove方法中使用NoSuchElementException时遇到问题

Mapstruct不能正确/完全映射属性

如何在EXCEL单元格中添加形状和文本

@Rollback @ Transmission在验收测试中不工作

未找到适用于响应类型[类java.io.InputStream]和内容类型[Text/CSV]的HttpMessageConverter

对字符串长度进行排序,但颠倒了顺序(最长字符串在前)

Spring安全令牌刷新和JWT签名与本地计算的签名不匹配

Oj算法 MatrixR032从字符串、归一化和余弦相似度计算创建

错误:未找到扩展元素在JBossEAP 7.2中安装FUSE时出错

当我在Java中有一个Synchronized块来递增int时,必须声明一个变量Volatile吗?

如何在Spring Security中设置一个任何人都可以打开的主页?

org.springframework.web.HttpRequestMethodNotSupportedException:请求方法';帖子';不支持

java.lang.ClassCastException:com.google.firebase.FirebaseException无法转换为com.google.fire base.auth.FirebaseAuthException