Java JTextArea 中选择文本会触发哪个事件?

2023-12-10

我想监视进入 JTextArea 的文本选择。我不知道选择文本会触发什么事件。

我只想在从 JTextArea 中选择某些文本后立即启用某些菜单项,例如将选项复制和剪切到菜单中。我应该监控什么?


我不知道文本组件有任何“选择侦听器”(尽管它们可能有用),但是您可以使用CaretListener监视插入符位置的变化并检查选择状态...

public class TestSelectionMonitor {

    public static void main(String[] args) {
        new TestSelectionMonitor();
    }

    public TestSelectionMonitor() {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                }

                final JTextArea ta = new JTextArea();
                ta.addCaretListener(new CaretListener() {
                    @Override
                    public void caretUpdate(CaretEvent e) {
                        int length = ta.getSelectionEnd() - ta.getSelectionStart();
                        System.out.println(length);
                    }
                });

                JFrame frame = new JFrame("Testing");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLayout(new BorderLayout());
                frame.add(new JScrollPane(ta));
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java JTextArea 中选择文本会触发哪个事件? 的相关文章

随机推荐

  • OData AspNetCore 对使用 $query 的长 URL 的支持不起作用

    正如所指出的this文章 与 query关键字可以解决7 5版本之后OData URL过长的问题Microsoft AspNetCore OData 但在我的项目中 我正在使用版本 8 preview3 我尝试使用这个但我不断得到404 未
  • OpenCV中无法使用SURF、SIFT

    我正在尝试一个简单的事情 比如 detector cv2 SIFT 并得到这个严重的错误 detector cv2 SIFT AttributeError module object has no attribute SIFT 我不明白 因
  • 根据多个条件按列名称过滤数据框

    我有一个包含许多列的 pandas 数据框 我想根据列名称但使用两个不同的标准来过滤数据框 我尝试使用 df filter 指定项目和正则表达式 但这是不允许的 如果列名称为 用户名 XYZ 1001 XYZ 1002 XYY 1001 X
  • GLIBC 安装失败,程序丢失或太旧

    我曾尝试使用非 root 来安装 glibc 2 15 经过谷歌搜索并尝试两天后 我在这里寻求帮助 After configure it output following error glibc 2 15 configure prefix
  • 反转范围会导致类型不匹配

    例如 我想使用一个变量来保存通常是某个范围的内容Range
  • JavaScript 中的查询字符串

    通过使用document referrer我们会得到JavaScript中所有URL的引用 例如 http localhost testwordpress wp admin admin php page thesis options upg
  • 如何在node中使用axios发布表单数据

    EDIT更改标题以便对其他人有帮助 我正在尝试将图像上传到imgbb使用 Axios 使用他们的 api 但不断收到错误响应Empty upload source imgbb 的 API 文档显示了以下示例 curl location re
  • 组合 datetime.date 和 datetime.time 对象的 Pythonic 方式

    我有两个代表同一事件实例的对象 一个保存日期 另一个保存该事件的时间 我想创建一个日期时间对象 由于不能简单地添加日期和时间对象 以下调用失败 datetime date 2011 01 01 datetime time 10 23 它位于
  • 如何在 python/matplotlib 中设置默认刻度参数?

    我希望我的所有绘图都具有指向内部的刻度 而不是 matplotlib 默认的外部 所以我正在寻找一种使用 plt rcparams 设置它的方法 对于每个情节 目前我正在做 ax tick params direction out 但这仅适
  • Ionic:任务“:mergeDebugResources”执行失败(某些文件处理失败)

    离子构建命令工作正常 直到我决定添加一些自定义启动屏幕并运行以下命令 离子资源 每次我运行构建命令时 我都会在运行构建命令时遇到以下错误 mergeDebugResourcesAAPT err Facade for 35126910 lib
  • SASS - 增加一个类并选择列表中的下一个变量

    我正在尝试进行一个设置 将类从 1 增加到 12 并根据变量列表 也是 12 个变量 设置背景颜色 我很接近 但没有得到我所希望的 这是我第一次涉足 SASS 中的控制指令 所以请原谅我的无知 目前 我正在成功增加班级 这是我错过的选择增量
  • 如何在 MVVM WPF 应用程序中向父视图通知子视图事件?

    我有一个基于 MVVM 的 WPF 桌面应用程序 我正在利用 MVVMLight 和 Prism 创建包含视图和子视图的用户控件 我在子视图上有按钮 假设这是一个关闭按钮 将单击事件的通知从嵌套子视图传播到其包含的父视图的最佳方法是什么 子
  • Linq,如何做groupBy?

    项目表 ID 部门 ID 年份 名称 级别 Id 1 DeptId 1 Year 2000 Name ABC Level 1 Id 2 DeptId 1 Year 2001 Name ABC1 Level 1 Id 3 DeptId 1 Y
  • ASP.NET Core 3.1 中的数据表服务器端处理

    我是新来的数据表通过 AJAX 调用 我需要对数千条记录实施服务器端处理 我正在学习教程 但我对服务器端处理感到困惑 我在尝试从数据源渲染数据时收到错误 让我发布所有相关代码 希望您能帮助我找出哪里出错了 由于我是新手数据表和 Ajax 我
  • 如何在 ASP.Net MVC3 中将值从一个控制器传递到另一个控制器

    你好在我的项目中我必须传递欢迎信息username到索引页 它是一个 MVC3 ASP Net Razor 项目 有两个控制器 第一个是登录控制器 第二个是家庭控制器 从登录控制器 我必须通过UserName登录者的视图页面 登录控制器重定
  • jmvfw.dll:无法在 AMD 64 位平台上加载 IA 32 位 .dll

    系统 赢7 64位 JMF 通过启动 JMstudio 在我的系统上工作 它找到我的驱动程序并启动我的麦克风和网络摄像头 但是当我运行 Netbeans 代码时它不起作用 我已按照此网站上的以下步骤在 Win 7 64 位上安装 JMF 但
  • 交叉编译器与 JVM

    我想知道 JVM 的用途 如果创建 JVM 是为了允许平台无关的可执行代码 那么能够生成平台无关的可执行代码的交叉编译器就不能取代 JVM 吗 有关交叉编译器的信息检索自 http en wikipedia org wiki Cross c
  • fwrite(): SSL 操作失败,代码为 1。OpenSSL 错误消息:\n错误:1409F07F:SSL 例程:SSL3_WRITE_PENDING:PHP 中的错误写入重试

    我在 stackoverflow 上遇到了同样的问题 并尝试了所有答案 但没有帮助 我不明白错误是什么 这是我正在使用的函数 function sendRegistryNotification message deviceToken dev
  • 如何在 Discord.js 中按名称查找表情符号

    所以过去几天我非常沮丧 因为我无法在网上找到一个资源来正确记录在用 javascript 编写不和谐机器人时如何找到表情符号 我一直在参考本指南 其中有关表情符号的文档似乎要么是错误的 要么是过时的 https anidiots guide
  • Java JTextArea 中选择文本会触发哪个事件?

    我想监视进入 JTextArea 的文本选择 我不知道选择文本会触发什么事件 我只想在从 JTextArea 中选择某些文本后立即启用某些菜单项 例如将选项复制和剪切到菜单中 我应该监控什么 我不知道文本组件有任何 选择侦听器 尽管它们可能