当前位置: 首页 > 知识库问答 >
问题:

isMetaDown方法不能在java SE 14中处理鼠标事件

南宫凡
2023-03-14
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class MouseDetailsFrame extends JFrame {

    private final JLabel statusJLabel;

    public MouseDetailsFrame() {
        super("Mouse Adapter example");
        statusJLabel = new JLabel("You clicked 0 times");
        add(statusJLabel, BorderLayout.SOUTH);

        addMouseListener(new MouseAdapterHandler());

    }

    private class MouseAdapterHandler extends MouseAdapter {

        @Override
        public void mouseClicked(MouseEvent event) {
            int posX = event.getX();
            int posY = event.getY();
            String details = String.format("You clicked %d time(s) ", event.getClickCount());

            if (event.isMetaDown() == true)
                details += "with Right Mouse Button";

            else if (event.isAltDown() == true)
                details += "with center Mouse Button";

            else
                details += "with Left Mouse Button";

            statusJLabel.setText(details + String.format(" at ( %d, %d )", posX, posY));
        }
    }
}
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
import javax.swing.JFrame;

public class MouseEventTest {

    public static void main(String[] args) {
        try {
            for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {

                if ("Nimbus".equals(info.getName())) {

                    UIManager.setLookAndFeel(info.getClassName());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        MouseDetailsFrame mouseDetailsFrame = new MouseDetailsFrame();
        mouseDetailsFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mouseDetailsFrame.setSize(400, 200);
        mouseDetailsFrame.setVisible(true);

    }
}

共有1个答案

郑茂勋
2023-03-14

我有一个3键鼠标,按下每个按钮不会导致JVM生成不同的鼠标事件吗?*

也许你在寻找:

  1. SwingUtilities.isleftMousebutton(事件)
  2. swingUtilities.ismiddleMousebutton(事件)
  3. SwingUtilities.isrightButton(事件)
 类似资料:
  • 本文向大家介绍html中鼠标滚轮事件onmousewheel的处理方法,包括了html中鼠标滚轮事件onmousewheel的处理方法的使用技巧和注意事项,需要的朋友参考一下 滚轮事件是不同浏览器会有一点点区别,一个像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法绑定DomMouseScroll事件,其他的浏览器滚轮事件使用mousewheel

  • 目标 学习在OpenCV中处理鼠标事件 你将学习这些函数:cv2.setMouseCallback() 简单的演示 在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都会在图像上绘制一个圆圈。 首先我们创建一个鼠标事件发生时执行的回调函数。鼠标事件可以是任何与鼠标有关的东西,例如左键,左键,左键双击等。它给我们每个鼠标事件的坐标(x,y)。有了这个活动和地点,我们可以做任何我们喜欢的事情。

  • 本文向大家介绍python+selenium 鼠标事件操作方法,包括了python+selenium 鼠标事件操作方法的使用技巧和注意事项,需要的朋友参考一下 一、前言 除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键、双击、悬停、拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封装在 ActionChains 类中。

  • 我需要对按键-鼠标事件组合做出反应,如: CtrlShiftR 但是我不知道,只有在按住Ctrl键和Shift键的组合出现时,如何处理“左键单击”的问题。 像这样的解决方案 不会工作,因为可能有不同的组合键和任何种类的字母。 有什么想法吗?

  • 然而许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在v-on指令中是不可行的。因此v-on还可以接收一个需要调用的方法名称。 示例: <div id="example-2"> <!-- `greet` 是在下面定义的方法名 --> <button v-on:click="greet">Greet</button> </div> var example2 = ne

  • 在本章中,我们将详细介绍鼠标事件及其属性。 请注意:此类事件不仅可能来自于“鼠标设备”,还可能来自于对此类操作进行了模拟以实现兼容性的其他设备,例如手机和平板电脑。 鼠标事件类型 我们已经见过了其中一些事件: mousedown/mouseup 在元素上点击/释放鼠标按钮。 mouseover/mouseout 鼠标指针从一个元素上移入/移出。 mousemove 鼠标在元素上的每个移动都会触发此