Java 微调器,添加上/下箭头按钮侦听器
是否可以为微调器上/下按钮添加单击侦听器?Java 微调器,添加上/下箭头按钮侦听器,java,user-interface,swt,Java,User Interface,Swt,是否可以为微调器上/下按钮添加单击侦听器? 我需要这种行为,因为当我添加修改或选择侦听器时,我手动输入到微调器字段的所有更改也会提交,这对我来说是不可接受的。您可以侦听SWT。验证并检查事件的键码 对于按钮按下,该值将为0。因此,当keyCode不等于0时,您可以告诉微调器忽略事件 public static void main(String[] args) { final Display display = new Display(); final Shell shell =
我需要这种行为,因为当我添加修改或选择侦听器时,我手动输入到微调器字段的所有更改也会提交,这对我来说是不可接受的。您可以侦听
SWT。验证并检查事件的键码
对于按钮按下,该值将为0
。因此,当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();
}
谢谢你的回答。是否可以在VerifyListener和ModifyListener之间共享事件数据?我的意思是:可以通过向上/向下微调器按钮更改值,也可以通过按enter或focus lost手动更改文本字段中的值。@Steve您必须更具体一些。我当前的回答禁用了对“文本/值”的编辑,因为这正是您所要求的。如果您想启用两种编辑方式,但仍然能够在侦听器中区分它们,只需删除arg0.doit=false
。是的,您是对的。首先,我必须更具体一些。谢谢你的回答,非常有帮助!