我正在关注 SWT Slider Snippet 示例,在 fedora 上事件详细信息始终为 0 又名 SWT.NONE,但详细信息在 Windows 7 上设置。示例可以在此处找到 http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/SWTSliderprintscrolleventdetails.htm这是我正在运行的代码。
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
final Slider slider = new Slider(shell, SWT.HORIZONTAL);
slider.setBounds(10, 10, 200, 32);
slider.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
String string = "SWT.NONE";
switch (event.detail) {
case SWT.DRAG:
string = "SWT.DRAG";
break;
case SWT.HOME:
string = "SWT.HOME";
break;
case SWT.END:
string = "SWT.END";
break;
case SWT.ARROW_DOWN:
string = "SWT.ARROW_DOWN";
break;
case SWT.ARROW_UP:
string = "SWT.ARROW_UP";
break;
case SWT.PAGE_DOWN:
string = "SWT.PAGE_DOWN";
break;
case SWT.PAGE_UP:
string = "SWT.PAGE_UP";
break;
}
System.out.println(slider.getSelection());
System.out.println("Scroll detail -> " + string);
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
最佳答案
this bug和 this bug据说已解决,但在我的机器上不起作用(Ubuntu 12.04 eclipse 版本是 Kepler)。
因此提出了一个新的bug here .
引用我的帖子SWT Scrollbar events on Linux在这里我说的是检测这些事件的其他方法。
另外请等待检查 Eclipse Luna(将于 6 月 25 日发布)。
关于java - 为什么 slider 的 SWT Selection 事件从来没有详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24290801/