2015-10-12 18 views
0

如果焦點是通過反向遍歷(即transferFocusBackward)而不是前向遍歷獲得焦點,如何檢測focusGained事件?檢測焦點的向後遍歷染色事件?

我已經設置了多個自定義JTable,它們可以通過它們的單元格向前和向後標籤。如果一個用戶退出表格,即最後一個,先向後,我分別選擇第一個或最後一個單元格。使用changeSelection方法選擇一個單元格很容易,但是我怎麼知道遍歷發生在哪個方向?

回答

2

我找不到直接訪問此信息的方法。

但是這個信息似乎是可供FocusEvent

FocusListener fl = new FocusAdapter() 
{ 
    public void focusGained(FocusEvent e) 
    { 
     String eventText = e.toString(); 

     if (eventText.contains("TRAVERSAL_FORWARD")) 
      System.out.println("forward"); 
     else if (eventText.contains("TRAVERSAL_BACKWARD")) 
      System.out.println("backward"); 
    } 
}; 
+0

偉大的作品,謝謝! –