Eclipse插件:如何让Combo处理Enter键按下? 也就是说在输入一些文本之后,用户可以按Enter键,这将进行一些处理。 可以通过按钮“运行”单击启动相同的处理。
答案 0 :(得分:2)
只需为Listener
添加SWT.KeyUp
,然后检查输入的字符是否等于SWT.CR
。
以下是一些代码:
public static void main(String[] args)
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new GridLayout(1, true));
final Combo combo = new Combo(shell, SWT.NONE);
combo.addListener(SWT.KeyUp, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
if(arg0.character == SWT.CR)
MessageDialog.openInformation(shell, "Input", "You entered: " + combo.getText());
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
看起来像这样:
当用户按下enter键时将显示此对话框: