2011-09-30 52 views
0

我想通過這個代碼,以突出JTable焦點移動:JTable焦點運動查詢?

if(e.getKeyCode() == (KeyEvent.VK_TAB)){ 
       int prevRow; 
       int row = table.getSelectedRow(); 
       int col = table.getSelectedColumn(); 
       if(col == 0) { 
       System.out.println(row); 
       MinMax val = null; 
       TableCellRenderer currRend = table.getCellRenderer(row,col); 
       val = (MinMax) table.getValueAt(row, col); 
       JComponent comp = (JComponent) currRend.getTableCellRendererComponent(table, val, false, false, row,col); 
       comp.setBorder(BorderFactory.createLineBorder(Color.RED)); 
       table.requestFocus(true); 
} 

的情況是這樣的,當我按TAB,第一次,第二行被選中,最初的重點是行集[0],邊框不被繪製,當我第二次按第三行時,選中第2行和第3行。

之後,每當按下標籤時,突出顯示的邊界將與行選擇相關。

我正在面臨的問題,當我在正常模式下運行應用程序,而不是在帶斷點的解除煩惱模式下。

+0

爲了更快提供更好的幫助,請發佈[SSCCE](http://pscode.org/sscce.html)。 –

+0

順便說一句 - 你的問題是什麼? (不,添加一個?來標題中的單詞並不是一個問題!) –

+0

@ Andrew:這就是我正在尋找的東西,只要usr按下tab按鈕,下一行單元格被選中,選中的行細胞的邊界,我想繪製在與其他顏色不同... –

回答

1

沒有任何理由與KeyEventsKeyListener困擾,如果沒有產生一些額外的特殊Events,實現prepareRenderer,有你有來測試是否是​​或hasFocus(),我認爲這一切並沒有什麼更好的爲各地@ camickr的Table Row Rendering

+0

謝謝,對,我的錯別字,我會修改, – mKorbel

+0

@ kleopatra:是的,將盡量與您的鍵綁定方法.... –

+0

@JeeteshNataraj無需(實際上會和你需求中的keylistener一樣錯誤) - 閱讀renderers(提示:這是一個簡單的配置任務,無論是在自定義渲染器還是在表的prepareRenderer中) – kleopatra