我正在使用Swing在Java中创建一个简单的记事本应用程序。
我已经使用JMenu创建了“新建”,“打开”,“退出”,“剪切”,“复制”,“粘贴”功能的菜单选项,还使用JToolBar创建了“新建”,“打开”,“退出”,“剪切”,“复制”,“粘贴”图标。对于图标,我使用了JButton组件。
我的预期情况: 我想在选择JTextPane中的某些文本时启用剪切和复制图标。如果未选择任何文本,则应禁用“剪切和复制”图标。请提供示例代码。
谢谢。
答案 0 :(得分:0)
您可以将CaretListener
添加到文本组件的Caret
中。
无论何时生成CaretEvent
,您都可以使用事件的getDot()
和getMark()
方法。
如果值相同,则不会选择任何文本。
对于图标,我使用了JButton组件。
您应该在按钮上添加Action
。然后,您可以根据需要启用/禁用Action
。阅读Swing教程中有关如何使用动作的部分,以获取更多信息。
此外,DefaultEditorKit
和StyledEditorKit
将提供您需要执行的许多操作。请查看Text Component Features上的Swing教程,以获取使用这些操作的有效示例。