亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JButton 干擾 JPanel 上的鼠標偵聽器

JButton 干擾 JPanel 上的鼠標偵聽器

互換的青春 2023-01-05 17:09:51
我有JPanel一個鼠標偵聽器,用于檢查mouseEntered和,這與鼠標聚焦到窗格上的按鈕并觸發事件mouseExited這一事實完全不同。mouseExited是否有設置使按鈕不占用鼠標焦點?
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

在這種情況下,我從來不需要專門修改焦點。我也不熟悉 JPane,所以我認為您指的是 JPanel。



    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;


    public class FocusDemo {

       private JPanel  panel;

       private JButton button1;


       JFrame          frame = new JFrame("TempWindow");


       private FocusDemo() {

          panel = new JPanel();

          button1 = new JButton("Button");

          button1.addActionListener((ae) -> System.out.println("button pressed"));

          panel.add(button1);

          MyMouseListener ml = new MyMouseListener();

          panel.addMouseListener(ml);

          panel.addMouseMotionListener(ml);

          frame.add(panel);


       }


       public static void main(String[] args) {

          SwingUtilities.invokeLater(() -> new FocusDemo().start());

       }


       public void start() {

          frame.setLocationRelativeTo(null); // this line set the window in the

                                             // center of the screen

          frame.setPreferredSize(new Dimension(500, 500));

          frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

          frame.pack();

          frame.setLocationRelativeTo(null);

          frame.setVisible(true);


       }


       private class MyMouseListener extends MouseAdapter {

          public void mouseEntered(MouseEvent me) {

             System.out.println("mouse entered");

          }


          public void mouseExited(MouseEvent me) {

             System.out.println("mouse exited");

          }

       }


    }


查看完整回答
反對 回復 2023-01-05
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號