首頁  >  文章  >  Java  >  MousePressed 方法是否會禁止在 JLabel 拖放中觸發 MouseReleased?

MousePressed 方法是否會禁止在 JLabel 拖放中觸發 MouseReleased?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-24 02:41:29764瀏覽

Does MousePressed Method Inhibit MouseReleased from Triggering in JLabel Drag and Drop?

用於拖放的JLabel 小鼠事件

問題:

透過滑鼠事件覆蓋實現,當在mousePressed 事件中定義時, mouseReleased 事件無法在滑鼠釋放時觸發。我做錯了什麼嗎? 」

代碼:

<code class="java">Thumbnails[I_Loop].addMouseListener( new MouseAdapter() {
    public void  mouseReleased(MouseEvent me) {
           System.out.println("here mouse released");
      }
    public void mousePressed(MouseEvent me) {
        System.out.println("here mouse pressed");
        JComponent comp = (JComponent) me.getSource();
        TransferHandler handler = comp.getTransferHandler();
        handler.exportAsDrag(comp, me, TransferHandler.COPY);
    });</code>

答案:

而@Thomas的解決方案是正確的,這裡有兩種可考慮的替代方法:

1. 使用JLayeredPane:

此範例示範了使用JLayeredPane 拖曳組件。方法。這個更複雜的範例使用相同的原理。

以上是MousePressed 方法是否會禁止在 JLabel 拖放中觸發 MouseReleased?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn