簡體   English   中英

Swing:JTree或其他組件上的鼠標事件有時會被跳過

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM