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

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

Mary-Kate Olsen
發布: 2024-10-24 02:41:29
原創
853 人瀏覽過

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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板