使用此标记来了解有关JFace的问题,JFace是基于SWT的Java应用程序框架。 JFace的目标是提供一组可重用的组件,以便更容易编写基于Java的GUI应用程序。
CheckboxTreeviewer 之前在重新加载后设置了选中的元素
我使用了 JFace CheckboxTreeviewer 并添加了 ICheckStateListener 来获取检查元素的结果。 代码如下 私有 HashSet checkElement=new HashSet(); 我使用了 JFace CheckboxTreeviewer 并添加了 ICheckStateListener 来获取选中元素的结果。 代码如下 private HashSet<Object> checkElement=new HashSet<Object>(); checkboxTreeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { String childNode=null; String rootNode=null; Object changed = event.getElement(); if(changed instanceof ChildFacetNodeVo){ checkElement.add(changed); ChildFacetNodeVo childFacetNodeVo=(ChildFacetNodeVo)changed; childNode=childFacetNodeVo.getLabelFacet(); rootNode=childFacetNodeVo.getParent(); //here to get a new result after element checked and put new result to checkboxtreeviewer List<RootFacetNodeVo> facetNodeVos=createFacetFilter(rootNode,childNode); if(facetNodeVos!=null){ checkboxTreeViewer.setInput(facetNodeVos); checkboxTreeViewer.expandToLevel(3); checkboxTreeViewer.setCheckedElements(checkElement.toArray()); } } } }); 现在我需要的是,当我检查新元素时,之前检查的元素不应该被取消选中。 当我在 CheckboxTreeviewer 中设置新输入时,没有任何内容可见。 那么我如何在 CheckboxTreeviewer 中设置先前检查的元素。 例如 p1 -----A1 - previous checked -----A2 -----A3 -----A4 -----A5 p1 -----A6 -----A7 -----A8 - previous checked -----A8 -----A9 p1 -----A10 -----A11 如果您调用 setCheckedElements,您必须在您指定的数组中包含应检查的所有内容。 您似乎正在创建一组要放入树中的新对象,因此您必须确定需要检查哪些新项目。 您可以调用 checkboxTreeViewer.getCheckedElements() 来获取旧的选中元素(在设置新输入之前执行此操作)。这应该可以帮助您确定需要检查哪些新元素。 我几乎尝试了所有方法,最简单的解决方案是实现两个侦听器: ICheckStateListener() 跟踪更改并可能保存它们。 ICheckStateProvider() 在重新加载后检索先前检查的元素。另一方面,有必要管理目录的灰色状态,但这是可行的。 这就是我刚刚推送的 LOEclipse 插件。
如何根据 WizardPage 调整 WizardDialog 的大小?
我正在创建一个 JFace WizardDialog,其中包括一个 WizardPage,该 WizardPage 根据用户选择更改其内容(控件)。简而言之: 最终 PageAccess 页面 = new PageAccess(...); WizCre...
Jface TreeViewer 中的 Jface 工具提示消失得太快,如何使其保持可见时间更长?
我正在使用 Eclipse Jface 库开发一个 Java 项目,我的目标是当用户将鼠标悬停在 Jface TreeViewer 中的某个项目上时显示自定义工具提示。然而,我遇到的是...
当您在 Eclipse 中打开一个对话框(其中有一个表单布局)时,您可以看到,当您将鼠标悬停在某个项目、其标签或它们之间的空间上时,会显示一个辅助箭头。截屏: ...
我如何从其他地方访问视图的对象? (以下代码只是为了勾画我想要做的事情): 公共类 View 扩展 ViewPart { 公共静态最终字符串 ID = &q...
我如何从其他地方访问视图的对象? (以下代码只是为了勾画我想要做的事情): 公共类 View 扩展 ViewPart { 公共静态最终字符串 ID = &q...
我创建了一个 JFace 无模式对话框并尝试使用以下选项设置 shell 样式 setShellStyle(SWT.CLOSE | SWT.TITLE |SWT.MODELESS |SWT.ON_TOP); 我希望这个对话框始终位于最上面...
JFace 的 MessageDialog 在 open() 方法中失败
我有一个 JFace 应用程序,想要在启动时做一些工作。所以我重写了窗口的打开方法。 但现在我遇到的问题是,如果出现故障,我无法显示错误消息
调用 setComparator() 时,Jface TableViewer 是否需要时间来加载?
我有一个TableViewer,表格中有15 列。我已经实现了自己的内容和标签提供商。我需要对所有这些列进行排序,因此在表查看器上调用 setComparator() ...
我一直在努力让 SWT TableItem 中显示的图像能够缩放。我有一个可以正确缩放字体的侦听器,并且我已确认图像已设置到 TableIt 中...
我最近一直在研究 Eclipse 插件开发,当我尝试使用 Eclipse Bindings 选项卡将 SWT 文本绑定到我的数据模型中的字符串时,它生成的代码是依赖的...
如何强制 CheckboxTreeViewer 类仅允许一个选中的元素? 我找不到强制执行此行为的样式。 我必须如此捕获支票的唯一其他选择......
为 Java 配置 Eclipse SourceViewer
我正在尝试创建一个嵌入 Java 编辑器/查看器的查看器。但是,我无法让源查看器执行正确的 Java 扫描和着色。这是我到目前为止的代码。
我使用 SWT 和 JFace(在 Windows 上)构建了一个 Java 应用程序。在这里,我想将电子邮件地址作为文本放入菜单项中,并使用以下操作类: 私有类 MyAction 扩展了 Acti...
如何处理 SWT/JFace 中每个 ViewPart 或 Form 的 KeyEvent?
我正在构建一个 Eclipse 应用程序,我正在尝试创建一个在按 F5 时启动操作的快捷方式,并使其成为该 Tab/ViewPart 获得焦点时的默认操作。 我读过...
SWT/JFace:如何处理每个ViewPart或Form的Keyevents?
我正在构建一个 Eclipse 应用程序,我正在尝试创建一个在按 F5 时启动操作的快捷方式,并使其成为该 Tab/ViewPart 获得焦点时的默认操作。 我读过...
我正在升级旧的 RCP 应用程序以使用 eclipse 2023-06。有 2 个视图显示双垂直滚动条。两者都使用 TreeViewer。 该部分初始化如下: 查看器 = 新 TreeVie...
为什么 propertyChangeListener 对 PathEditor 中的更改没有反应
我确实使用FieldEditorPreferencePage,除了其他字段编辑器之外,还有PathEditor,它是唯一一个不监听PropertyChangeEvent的编辑器。无论我添加或删除路径,都没有关系...
如何在一个首选项页面验证更多 `org.eclipse.jface.preference.StringFieldEditor` 实例?
在我的 FieldEditorPreferencePage 中,我创建了两个 FileFieldEditor 实例,一个用于地面纹理设置,另一个用于背景纹理设置: 公共类 PrefPage 扩展
我正在使用一个 nattable,其中包含代表不同对象的行,包括按对象分组和另一个对象。 当我试图隐藏代表一个对象的行号 302 时,它正在 hi...