- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的插件中使用 JFace ComboViewer。作为一项便利功能,我想通过开始键入来更改当前选择。为此,我向底层组合元素添加了一个 KeyListener
我一开始输入就得到一个事件,但不幸的是我没有得到更改后的值,而只有我开始输入之前的值。
我的 keylistener,它引用了 ComboViewer 目前以这种方式使用react:
@Override
public void keyPressed(KeyEvent e) {
ISelection selection = combo.getSelection(); //combo is the ComboViewer
if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
IStructuredSelection strucSel = (IStructuredSelection) selection;
node = (TreeNode) strucSel.getFirstElement();
...}
我输入的第一个字符实际上通过了 if 语句,任何进一步输入的字符都会导致选择为空。
那么我如何始终获得“当前选择”以及如何获得更改后的值,似乎在 keylistener 中的 react 太早了,因为我输入的文本字段尚未更新,因此将总是提供旧信息?
也许我理解错了,但我无法想象我会如此困难地从文本字段中获取最新信息。有什么建议吗?
最佳答案
您应该改用 ModifyListener
并像这样查询组合文本框的当前值:
public void modifyText(ModifyEvent e)
{
String text = ((Combo) e.getSource()).getText();
...
}
但这只会给你文本框的内容。在您从其下拉列表中选择一个元素或使用 setSelection(..)
以编程方式设置一个元素之前,组合查看器不会有任何选择(据我所知)。可见文本基本上只是标签(就组合查看器而言)并且由于标签不必是唯一的,因此它不会尝试查找属于标签的模型元素。所以我不知道当有人在组合的文本框中输入时,您期望组合查看器的选择是什么。您到底想实现什么样的行为?
关于Java ComboViewer 对编辑有反应,KeyListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482130/
我正在尝试将高斯模糊添加到场景中。我正在使用此GLSL着色器:。当您提供图像作为tDiffuse纹理时,它对图像起作用,但我正在尝试将其添加为后处理效果。我试图获取摄影机的renderTarget并将
我正在做一款天气应用程序,到目前为止还不错。现在,我想通过单击按钮来呈现一些额外的信息。我有一个5天的预报,然后想显示每一天的信息。我已经成功地过滤了数据,但无法获得要渲染的数据地图。以下是我的一些代
我正在做一款天气应用程序,到目前为止还不错。现在,我想通过单击按钮来呈现一些额外的信息。我有一个5天的预报,然后想显示每一天的信息。我已经成功地过滤了数据,但无法获得要渲染的数据地图。以下是我的一些代
我在全球安装了Create Reaction应用程序。然后我就跑了。NPX创建-反应-应用JSX。它安装了大约1460个包的所有包,但没有设置Public和src文件夹。在我的JSX文件夹中,只有1:
我是一名优秀的程序员,十分优秀!