假设我有一个带有HTMLEditorKit的JTextPane。我正在显示一段文字,并希望在用户单击单词时按下某个热键而突出显示某个单词时捕捉事件。例如,当一个单词突出显示并且用户按下D时,该单词将从文本中删除。另外,如何实现自定义光标导航 - 也就是说,只将光标移动到单词边界上?JTextPane内容的操作事件
实现这些功能的最简单方法是什么?我意识到这是很多代码,所以只是指出有用的类侦听器名称,相关的方法等将足以让我去:)谢谢。
假设我有一个带有HTMLEditorKit的JTextPane。我正在显示一段文字,并希望在用户单击单词时按下某个热键而突出显示某个单词时捕捉事件。例如,当一个单词突出显示并且用户按下D时,该单词将从文本中删除。另外,如何实现自定义光标导航 - 也就是说,只将光标移动到单词边界上?JTextPane内容的操作事件
实现这些功能的最简单方法是什么?我意识到这是很多代码,所以只是指出有用的类侦听器名称,相关的方法等将足以让我去:)谢谢。
你可能会看看查尔斯贝尔的HTMLDocumentEditor
。
例如,当一个字突出显示,用户按下d时,该单词从这已经由默认的EditorKit支持的文本
除去。有关支持的绑定,请参见Key Bindings。如果您愿意,该链接还会告诉您如何与不同的KeyStrokes共享现有的Actions。
如果您需要实施其他操作,那么您将首先扩展TextAction以添加自定义功能。然后你将你的行为绑定到关键笔划。
如果您想要检测用户何时更改了底层文档或CaretListener
以更改插入符号(也就是我认为您所查找的内容),您可能需要查看DocumentListener
。
见 http://download.oracle.com/javase/6/docs/api/javax/swing/event/DocumentListener.html 和 http://download.oracle.com/javase/6/docs/api/javax/swing/event/CaretListener.html