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