我想在 SWT 中捕获 Shift+鼠标左键松开事件。我只想在按住 Shift 键并释放鼠标左键的同时打印一些示例消息。
最佳答案
收听SWT.MouseUp
并比较 Event.stateMask
至SWT.SHIFT
,然后比较Event.button
至1
.
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/