问题标签 [jface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1355 浏览

java - JFace TreeViewer 闪烁

我正在尝试使用setInput()方法定期更新 JFace TreeViwer 的输入。我也使用

保存树状态的方法。但每次setInput()调用 TreeViewer 后都会闪烁。如何避免闪烁?

0 投票
3 回答
10368 浏览

java - 在 SWT/JFace RCP 应用程序中填充大表

您将如何在 SWT 表中显示大量行?巨大的是超过 20K 行,20 列的东西。不要问我为什么需要展示那么多数据,这不是重点。关键是如何让它尽可能快地工作,这样最终用户就不会厌倦等待。每行显示某个对象的一个​​实例,列是它的属性(一些)。我想使用 JFace 内容/标签提供程序模式,但担心它会比直接用数据敲击表格还要慢。事情是这样的:

在我的计算机上绘制 20k 条记录大约需要 20 秒。我在 Windows 中看到的最大性能问题是由 SWT 在创建新表项并填充文本时发送的大量本机窗口消息引起的。我为此找到了很好的解决方法 - 在填充之前隐藏表格,然后在完成后显示它。只需在循环之前调用 table.setVisible(false) 并在循环之后调用 table.setVisible(true) 就会产生奇迹 - 速度提高了六七倍!

我想加快速度。你有什么建议?另外,我想知道隐藏小部件的这个技巧如何在 SWT(又名 Linux)的非 Windows 实现上起作用?

0 投票
3 回答
1680 浏览

eclipse - TableViewer,定义初始排序顺序对数据没有影响

实际上,我像往常一样构建了一个 tableviewer,但最初它不会根据为排序定义的列对所有行进行排序。

我正在使用的代码:

只有在手动单击第 4 列后,我才能获得正确的顺序,否则它完全遵循链接到 ViewContentProvider 的对象列表的“插入顺序”。请问你能帮我吗?肿瘤坏死因子

0 投票
1 回答
4712 浏览

eclipse - 惰性和延​​迟 TreeViewer 问题

我实际上有两个问题,但它们有点相关,所以在这里它们是一个......

如何确保对当前未使用TreeViewer( SWT.VIRTUAL) 和显示的树节点进行垃圾收集ILazeTreeContentProvider?如果一个节点有 5000 个子节点,一旦它们被查看器显示,它们就永远不会放手,如果你的树有大量节点和叶子并且堆大小不够大,则会出现内存不足错误。是否有某种最佳实践来避免由于从未关闭的视图持有具有大量数据(数十万个对象甚至数百万个对象)的树查看器而导致的内存泄漏?也许有一些回调接口允许查看器/内容提供者元素具有更大的灵活性?

是否可以将延迟(DeferredTreeContentManager)和延迟(ILazyTreeContentProvider)加载组合为单个TreeViewerSWT.VIRTUAL)?据我通过查看示例和 API 了解,只能在给定时间使用任何一个,但不能同时使用两者,例如,仅获取给定节点的可见子节点并使用 Job 在单独的线程中获取它们API。困扰我的是延迟方法会加载所有孩子。尽管在不同的线程中,即使一次只显示最小的子集,它仍然会加载所有元素。

如果需要,我可以为我的问题提供代码示例......

我目前正在与这些人作斗争,所以如果我同时想出一些东西,我很乐意在这里分享。

谢谢!

问候,斯维伦

0 投票
1 回答
1958 浏览

eclipse - 有没有更好的方法来使用 ILazyTreeContentProvider 进行排序和过滤

显然,如果ILazyTree(TreePath)ContentProvider不支持使用排序和过滤TreeViewers。所以设置ViewerFilters或设置Sorters/Comparators你的 TreeView 不会有任何好处。也许这与不知道所有元素有关,包括那些目前不可见的元素。

为了支持这个声明,这里是类的 javadoc 摘录org.eclipse.jface.viewers.TreeViewer

如果内容提供者是 an ILazyTreeContentProvider或 an ILazyTreePathContentProvider,则必须使用 {@link SWT#VIRTUAL} 样式位创建基础树,树查看器将不支持排序或过滤,并且必须通过调用 {@link #setUseHashlookup 启用哈希查找(布尔值)}。

我目前看到的唯一解决方案是让每个节点的子节点都已订购。如果您需要动态排序,即能够在运行时以 desc 或 asc 顺序切换排序顺序,那么您需要为此提出自己的解决方案,例如在填充和更新子项时监视排序的布尔标志。

您是否知道可能有更好的解决方案,可能涉及更多的 jface API?

0 投票
2 回答
3083 浏览

java - 是否有适用于 Eclipse 3.4 的 jface 数据绑定框架的良好示例和文档?

官方站点非常少,而且大多数示例都是与 EMF 相关的,并且适用于 Eclipse 3.5 但是如果使用 3.4 目标 Eclipse 平台而不使用 EMF 会怎样。我对 Tree Viewer 示例特别感兴趣,但总是感谢好的示例和文档。

0 投票
1 回答
501 浏览

eclipse-rcp - 在 Eclipse v3.3 中将富文本插入 JFace TableViewer

StyledCellLabelProvider在 3.5 及更高版本中使用,但可惜我被固定在必须使用 v3.3 的平台上。谁能说我如何在 JFace 的字段中显示富文本TableViewer

甚至有可能吗?

0 投票
1 回答
628 浏览

java - JFace TableViewer - 根据其他单元格格式化单元格

我有一个 JFace TableViewer。一列中的值通常应该是唯一的,但在某些情况下它们不是有意义的(例如,当一行被复制但尚未更改时)。但是,我想通过突出显示该列中包含重复值的行来提醒用户重复值。最好的方法是什么?LabelProvider 似乎只允许我访问当前单元格或最多当前行。

谢谢,托马斯

0 投票
2 回答
7272 浏览

java - 不能在没有创建插件的情况下在 Eclipse 中使用 JFace 和 SWT

免责声明

这是 .NET GUI 试图以自己的方式解决 JAVA 问题的经典案例。

问题描述:

我正在尝试使用 JFace 和 SWT 构建一个非常简单的 GUI - 代码很简单(有很多教程),它不是那么简单的是我似乎无法让 JFace 和 SWT 在插件项目之外工作。

我希望能够在我的项目中轻松使用 JFace 和 SWT,因为我将“C:/eclipse 3.5/plugins”放在我的 CLASSPATH 中(从我的计算机 --> 属性 --> 高级 --> 环境变量)以及我可以在我的 PATH 中找到的所有 swt-*.dll(当然包括本地用户和全局 PATH),正如本文在“安装 SWT 和 JFace”框中所指出的那样。

问题是我不能从 eclipse.org 导入任何东西,除非我直接从 buildpath 引用 jar --> 库 --> 添加外部 jar(为了构建它,我必须添加以下 jar:org.eclipse.swt .win32.win32.x86_3.5.1.v3555a.jarorg.eclipse.jface_3.5.1.M20090826-0800.jar)。一旦我这样做了,它就可以很好地构建,但是当我将它作为“Java应用程序”运行时,我会收到以下错误(我应该以其他方式运行吗?):

我尝试对此进行调试,基本上它在尝试实例化ApplicationWindow类(org.eclipse.jface.window.ApplicationWindow)时就被抛出。试图重现该错误,我注释掉了我的所有代码,并在我的 main 中将其替换为以下代码,它在第一行抛出了与上面相同的错误:

问题:

问题 1:我怎样才能修复上面的错误(我想了解发生了什么)并让该死的东西运行?

问题2:为什么我的项目看不到罐子以及如何制作它们?

由于我对 Java 和 eclipse 不熟悉,我可能遗漏了一些非常琐碎的东西。任何帮助都非常感谢!

编辑:似乎其他人也有同样的问题-> http://www.eclipsezone.com/eclipse/forums/t60528.html-虽然不太清楚他们是如何解决的,但感谢您的帮助

0 投票
1 回答
1987 浏览

eclipse - Eclipse:表格列图像透明与否?

一旦我开始在 Eclipse 表格单元格中绘制自己的图像,突出显示该表格单元格会导致奇怪的突出显示颜色。你自己看:

替代文字

虽然透明度实际上像第一列一样保留,但高亮蓝色并不像应有的那样蓝色。这是我的错还是Eclipse的错?

这是代码片段: