2016-06-24 53 views
-3

如何在當前光標位於JTextPane的文本中時點擊當前光標位置的行文本而無需單擊?突出顯示在JTextPane中將光標對準的行

這裏我舉的例子:

example

所以,如果我的光標線10瞄準(不點擊),然後它會突出顯示所有行字10

這裏我的問題:

public void mouseMoved(MouseEvent e) { 
     int x=e.getX(); 
     int y=e.getY(); 
     component.requestFocus(); 

     Document doc = component.getDocument(); 
     Element root = doc.getDefaultRootElement(); 
     Element element = root.getElement(e.getX()); 
     int start = element.getStartOffset(); 
     int sel = start + e.getY(); 
     component.select(sel, sel); 
} 
+2

是你的問題:我該如何實現它?我已經降低了你的問題,因爲它不清楚你想要什麼。請改進,我將刪除downclick,好嗎? – ControlAltDel

+0

是的,我想要它。 – newbie

+0

好的,謝謝。請提出/改進實際的問題文本 – ControlAltDel

回答

2

結賬Line Painter。它顯示瞭如何突出基於當前插入位置的線條的背景。

由於您需要鼠標位置的行,您顯然需要修改代碼以處理事件MouseListener

因此,您需要使用MouseEvent中的信息來獲取鼠標當前所在的Point。然後您需要使用這一點創建一個Rectangle。我想你只需要使寬度/高度的值爲1的矩形。

+0

如果沒有點擊? – newbie

+0

@newbie,我已經告訴過你如何去做。您需要修改鏈接中的代碼。我們不在這裏爲你寫代碼。 – camickr