gpt4 book ai didi

Java SWT : apply key events from List to Text field

转载 作者:行者123 更新时间:2023-11-30 09:55:53 25 4
gpt4 key购买 nike

我正在 SWT 中制作一个包含文本字段和列表的组件。每当输入文本时,它都会过滤列表。到目前为止,一切都运行良好,我只是想添加一些不错的可用性功能。

我想做的是监听列表字段中的任何关键事件,如果按下的是 Enter,我将执行“确定”操作(已经完成),否则我希望焦点更改为文本字段并具有关键事件在那里触发。基本上,如果焦点在列表字段上并且用户输入了一些内容,我希望它自动输入到文本字段中。

响应 keyPressed 或 keyReleased 事件可以很好地将焦点设置到文本字段,但我需要以某种方式重复 keyEvent,以便实际输入任何内容。有什么想法吗?

最佳答案

这就是我所做的:

itemList.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if (e.keyCode == '\r' || e.keyCode == SWT.KEYPAD_CR) {
okButtonAction();
} else if (e.keyCode == SWT.ARROW_UP || e.keyCode == SWT.ARROW_DOWN || e.keyCode == SWT.ARROW_LEFT || e.keyCode == SWT.ARROW_RIGHT) {
super.keyReleased(e);
} else if (e.character > 0) {
filterInput.setFocus();
Event event = new Event();
event.type = SWT.KeyDown;
event.keyCode = e.keyCode;
event.character = e.character;
Display.getCurrent().post(event);
try {
Thread.sleep(10);
} catch (InterruptedException ie) {
ie.printStackTrace();
}
event.type = SWT.KeyUp;
Display.getCurrent().post(event);
}
}
});

我读到 Display.post 方法是用来进行自动 GUI 测试的,但它在这里对我的目的有用,所以我会使用它,除非有人能给我一个很好的理由,为什么不??

关于Java SWT : apply key events from List to Text field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com