是否可以为 Spinner 上/下按钮添加点击监听器?我需要这种行为,因为当我添加 Modify 或 Selection 侦听器时,我手动输入到 Spinner 字段的所有更改也会被提交,这对我来说是不可接受的。
问问题
1632 次
1 回答
3
您可以收听并SWT.Verify
检查keyCode
.Event
该值将0
用于按钮按下。因此,当不等于时,您可以告诉Spinner
忽略事件。keyCode
0
public static void main(String[] args)
{
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Spinner spinner = new Spinner(shell, SWT.NONE);
spinner.setMaximum(100);
spinner.setMinimum(0);
spinner.setIncrement(10);
spinner.addListener(SWT.Verify, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
if(arg0.keyCode != 0)
{
System.out.println("Value edited");
arg0.doit = false;
}
else
{
System.out.println("Button pressed");
}
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
于 2013-05-16T19:21:12.037 回答