[英]Swing: mouse event on JTree or other components becomes skipped sometimes
我需要在我的JTree上顯示彈出菜單,我添加了鼠標監聽器:
tree.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent me){
if (SwingUtilities.isRightMouseButton(me)){
//.. some code to show popup menu
}
}
});
但有時這個事件只是被跳過:我點擊了,但沒有調用mouseClicked()
。 JTabbedPane
:我右鍵單擊某個選項卡, 有時候沒有調用mouseClicked()
,但實際上切換了tab 。
UPD :大約10%的點擊率會發生這種情況。 經常忽略它。
順便說一句,我可以在這樣的JTabpedPane
上添加ChangeListener
,這個事件永遠不會被跳過,但我也需要處理鼠標,我完全不知道這里有什么不對。
任何幫助表示贊賞。
我想問題是,在10%的點擊中,你實際上沒有點擊,而是開始並完成拖動 。 這就是mouseClicked事件不起作用的原因。
嘗試監聽mousePressed或mouseReleased MouseAdapter的事件(取決於你想要的行為)而不是mouseClicked事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.