2
根據鼠標位置,可以在JTable滾動中顯示行嗎?JTable按鼠標位置滾動
即,如果光標靠近表格的頂部,則它開始向上滾動,並且如果它靠近表格的底部,則它開始向下滾動。
在AS3這種效果類似:
http://activeden.net/item/professional-dock-menu-as2-and-as3/127450
我目前使用:
int row = table.rowAtPoint(e.getPoint());
Rectangle r = table.getCellRect(row,0,true);
table.scrollRectToVisible(r);
一個的mouseMoved偵聽器內,當光標到達頂部/底部滾動哪一次行。我不確定如何讓它在這之後繼續滾動(目前用戶必須不斷移動鼠標才能繼續進行)。
非常感謝這個答案。我想過計時器選項,但我沒有考慮在mouseEntered上啓動它,我沒有考慮簡單地保存最後一個mouseMoved點 - 兩者都非常有幫助。但是,我仍然不知道如何根據鼠標相對於桌面/底部的位置來計算適當的時間間隔。是否有一種簡單的方法可以知道屏幕上當前顯示的行數,以及這些行的範圍?例如第6至34行正在查看,鼠標位於第10行。再次感謝您的回答。 – tre 2010-12-12 22:41:51
不理會我的最後一條評論,只是找到了一種方法(使用JViewport並在每次視口更改時觸發)。 – tre 2010-12-12 22:58:54