java - JButton 干扰 JPanel 上的鼠标监听器

标签 java swing jpanel mouseevent jbutton

我有一个带有鼠标监听器的 JPanel,用于检查 mouseEnteredmouseExited,这与鼠标聚焦的事实完全不同到 Pane 上的按钮并触发 mouseExited 事件。

是否有设置可以使按钮不占据鼠标焦点?

最佳答案

在这种情况下,我从来不需要专门修改焦点。我也不熟悉 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");
          }
       }

    }

关于java - JButton 干扰 JPanel 上的鼠标监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56483374/

相关文章:

java - 尝试将文本文件读入二维数组并打印到屏幕

java - 用转义符号中的另一个符号替换反斜杠

Java 应用程序将日志记录相关的错误消息打印到标准输出

Java JPanel repaint() 问题?

Java - 获取 JPanel 的图像

java - Spring boot在webapp文件夹下找不到index.html

java - 在 JAVA GUI 中添加随机形状矩形、椭圆形和线条

java - 我从一个 JFrame 到另一个 Jframe 的链接不起作用

java - 使用 JScrollPane 缩小 JPanel

java - JPanel 上的工具提示出现阴影错误