假設我有一個帶有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