java - 如何在SWT中一次监听按键和鼠标事件(Shift+Left MouseUp)?

标签 java swt

我想在 SWT 中捕获 Shift+鼠标左键松开事件。我只想在按住 Shift 键并释放鼠标左键的同时打印一些示例消息

最佳答案

收听SWT.MouseUp并比较 Event.stateMaskSWT.SHIFT ,然后比较Event.button1 .

public static void main(String[] args)
{
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new GridLayout());

    Text text = new Text(shell, SWT.BORDER);

    text.addListener(SWT.MouseUp, new Listener()
    {
        @Override
        public void handleEvent(Event e)
        {
            if ((e.stateMask & SWT.SHIFT) != 0 && e.button == 1)
            {
                System.out.println("shift pressed and left mouse clicked");
            }
        }
    });

    shell.pack();
    shell.open();

    shell.layout(true, true);

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

关于java - 如何在SWT中一次监听按键和鼠标事件(Shift+Left MouseUp)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22910226/

相关文章:

windows - 如何为 Java SWT 应用程序实现类似 Google-chrome 的标题栏

java - 如何从 Spring Data 存储库调用 MySQL 函数

java - 我应该如何将这个java DES 程序转换为PHP?

java - 有没有工具可以隔离网页内容?

java - 使用 java selenium 从 img src 获取链接

java - 您可以禁用 jface 向导中的取消按钮吗?

java - 导航查看标题图像

java - 如何将图像对齐到表格单元格的中心(SWT 表格)

java - 是否有用于 SWT 的预制放大镜光标?

java - 使用 MigLayout 限制列的增长