1
是否可以为Spinner上/下按钮添加点击监听器? 我需要这种行为,因为当我添加Modify或Selection侦听器时,我手动输入到Spinner字段的所有更改也都被提交,这对我来说是不可接受的。微调器,加/减箭头按钮监听器
是否可以为Spinner上/下按钮添加点击监听器? 我需要这种行为,因为当我添加Modify或Selection侦听器时,我手动输入到Spinner字段的所有更改也都被提交,这对我来说是不可接受的。微调器,加/减箭头按钮监听器
您可以收听SWT.Verify
并检查Event
的keyCode
。
按钮按下此值将为0
。因此,当keyCode
不等于0
时,您可以告知Spinner
忽略事件。
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();
}
谢谢您的回答。是否可以在VerifyListener和ModifyListener之间共享事件数据? – Steve
@Steve你是什么意思? – Baz
我的意思是:通过向上/向下微调按钮改变数值的可能性,以及在输入或焦点丢失的情况下在文本字段中手动改变数值的能力。 – Steve