如何在 JTextPane 中选择一些文本时 enable/disable JButton?

How to enable/disable JButton while selecting some text in JTextPane?

我正在 Java 使用 Swing 创建一个简单的记事本应用程序。

我已经使用 JMenu 创建了用于新建、打开、退出、剪切、复制、粘贴功能的菜单选项,还使用 ​​JToolBar 创建了新建、打开、退出、剪切、复制、粘贴图标。对于图标,我使用了 JButton 组件。

我预期的场景: 我想在 JTextPane 中选择一些文本时启用剪切和复制图标。如果没有选择文本,剪切和复制图标应该被禁用。请提供示例代码。

提前致谢。

您可以将 CaretListener 添加到文本组件的 Caret 中。

每当生成 CaretEvent 时,您都可以使用事件的 getDot()getMark() 方法。

如果值相同,则不会选择任何文本。

For icons I have used JButton component.

您应该在按钮中添加 Action。然后你可以根据需要enable/disable Action。阅读 Swing 教程中有关如何使用操作的部分以获取更多信息。

此外,DefaultEditorKitStyledEditorKit 将提供您需要的许多操作。查看 Text Component Features 上的 Swing 教程,了解使用这些操作的工作示例。