0
如果焦點是通過反向遍歷(即transferFocusBackward)而不是前向遍歷獲得焦點,如何檢測focusGained事件?檢測焦點的向後遍歷染色事件?
我已經設置了多個自定義JTable,它們可以通過它們的單元格向前和向後標籤。如果一個用戶退出表格,即最後一個,先向後,我分別選擇第一個或最後一個單元格。使用changeSelection方法選擇一個單元格很容易,但是我怎麼知道遍歷發生在哪個方向?
如果焦點是通過反向遍歷(即transferFocusBackward)而不是前向遍歷獲得焦點,如何檢測focusGained事件?檢測焦點的向後遍歷染色事件?
我已經設置了多個自定義JTable,它們可以通過它們的單元格向前和向後標籤。如果一個用戶退出表格,即最後一個,先向後,我分別選擇第一個或最後一個單元格。使用changeSelection方法選擇一個單元格很容易,但是我怎麼知道遍歷發生在哪個方向?
我找不到直接訪問此信息的方法。
但是這個信息似乎是可供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");
}
};
偉大的作品,謝謝! –