问题标签 [tableviewer]

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 投票
3 回答
4037 浏览

java - 将图像放入 JFace 表单元格会导致图像出现在第一列中的间隙

所以我有一个问题,当我将图像添加到 JFace 表的任何列时,第一列的行为也像其中包含图像,并且文本按该图像的大小缩进。

这是一个屏幕截图,说明了我的观点以及生成它所需的代码。有没有办法阻止这种情况发生,因为它真的在我的灯芯上?

问候,

格伦 x

在此处输入图像描述

0 投票
0 回答
410 浏览

java - SWT/Jface Treeviewer 加载tableviewer

我正在开发一个小型应用程序。我陷入了一种情况,即单击TreeViewer项目后必须将数据加载到表查看器中。请建议我处理这个问题的方法。

0 投票
1 回答
2163 浏览

java - SWT - 在我的 TableViewer 中使用 EditingSupport

在我的主要 dailog 中,我有一个 JFace TableViewer。表格的最后一列是 ComboBoxCellEditor。他们可以选择“否”、“是”、“两者”。这一切都按设计工作。

但这是我的问题。

  1. 如果用户选择两者作为值。
  2. 我需要运行一个从数组中获取当前行数据的方法
  3. 将值从两者更改为否
  4. 制作数据副本,然后将值更改为是
  5. 将两者都添加回数组
  6. 刷新表

表格示例

从 -

到 -

我试图弄清楚两者都被选中后如何运行该方法来完成其余的工作。我假设它必须是某种听众。请查看我的 EditingSupport 代码并告诉我从哪里开始我的方法来完成其余的工作。

0 投票
2 回答
3969 浏览

java - Eclipse RCP 右键单击​​事件

如何在项目上添加鼠标右键单击侦听器TableViewer

0 投票
1 回答
394 浏览

java - 使用 ComboBox 获取行的索引值

我表中的一行是 ComboBox。他们可以在“是”、“否”、“两者”之间进行选择。如果他们选择“两者”,则必须对正在构建表的数据数组进行一些修改并刷新表。在上一篇文章中建议在 Both 的 else 语句中构建我的逻辑。

上面的代码在类 OptionEditingSupport 中。

该表在 AplotBaseDailog 类中。

所以在OptionEditingSupport类中,我导入了AplotBaseDailog类并赋值。

然后我在 AplotBaseDailog 类中编写了一个方法来获取他们刚刚更改为 Both 的列的行索引。我需要索引值来从数组中获取数据。

然后我将行的索引传递给我的 dataModel 类中的一个方法。它位于具有数据数组的 dataModel 类中。

我猜我在这里重新发明轮子。必须有更好的方法来完成这个过程。现在,我的所有代码都已到位,我在调用 AplotBaseDialog 的行处收到空指针错误

您可以在 OptionEditingSupport 类中获取索引吗?

0 投票
0 回答
104 浏览

java - 可能的线程问题?

我有 2 个类,一个是数据模型类,另一个是 gui 类。

类数据模型…………

获取用户选择的数据并创建一个数组列表

类gui…………

有一个使用数据模型类中的数组的 tableviewer

我的问题是当用户向数组添加更多数据时,我需要刷新 tableviewer。

我在 gui 类中创建了一个 updateTableViewer 方法。

然后我在datamodel类中引用了gui类。

然后我将方法调用添加到向数组添加更多数据的方法中

这不起作用。即使创建并打开了 gui 类,getViewer() 调用也始终返回 null。

所以我创建了一个布尔值;

创建 tableviewer 后,我将值设置为 true。

然后我创建了一个返回布尔值的方法。

我从 dailog 上的按钮调用该方法。我还替换了数据模型类中的 updateTableViewer 方法调用

这是结果。

我在数据模型类中执行 add 方法 - 它返回 false - 这是有道理的,因为此时尚未创建 dailog

我执行并创建 gui 类我单击按钮并返回 true - 这是有道理的,因为查看器已创建

这是我感到困惑的地方。在 gui 仍然打开的情况下,我可以再次执行 add 方法,它仍然返回一个 false 值。然后我可以单击按钮并查看它的真实值。

我认为当创建 gui 并将布尔值设置为 true 时。我将能够在其他类中获得布尔值的当前值。

我不确定我是否没有正确引用 gui 类,或者在创建 gui 时我没有访问当前线程或 tableviewer?

我不知道这是否是线程问题,或者我只是没有从 gui 正确获取当前值。

这是我现在申请的一个大问题。每当将新数据添加到数组中时,我都必须能够刷新 tableviewer。我不能让用户每次选择新数据时都必须手动刷新表

0 投票
1 回答
1070 浏览

java - 更改输入对象时 TableViewer 重绘缓慢

在我的项目中,我有一个TableViewer显示来自数据库的大约 1k 行数据。是ContentProvider一个ArrayContentProvider.

当我将输入列表(对象)更改为具有相同数据量的另一个列表时,一切正常setInput()TableViewer但是当我想用List<T>与前一个不同的大小来更新它时,应用程序冻结了大约 10 倍于使用相同数据量进行更改的时间。

第一个列表的大小为 1k,第二个列表的大小约为 960。执行直接冻结在setInput()方法上。

有人知道为什么会这样吗?

0 投票
1 回答
740 浏览

java - 从表格单元格按钮打开对话框

我需要允许我的用户在我的表中编辑文件名值。因此,在我的 tableviewer 中,我添加了代码以在最后一列中创建和显示编辑按钮。我有这个工作。

当他们单击编辑按钮时,我希望在带有保存和取消按钮的文本框中打开一个带有文件名的对话框。

所以我创建了 FileNameDialog 类。

我的问题是:我在哪里创建对话框?

  • 我是否在基本对话框中创建一个方法并从 tableviewer 调用该方法


  • 我是否只是在 tableviewer 中创建一个方法并在那里创建对话框?


从表格查看器中单击按钮打开对话框的最佳程序是什么?

0 投票
1 回答
575 浏览

java - 使用 SWT 选择表值到文本字段?

我有Table( TableViewer) 包含TableItem带有值的 s。我有另一个TextField根据表列名映射的类。

现在我的问题是:当我选择表中的任何行时,该行中的值应该反映在文本字段中。在文本字段中,我可以编辑这些值并保存到表中。请让我知道如何实现这一目标?

0 投票
1 回答
63 浏览

java - 列中显示的文本未显示在单元格的正确位置

在我表的第一列中,显示的值从左边缘偏移。

例子

在此处输入图像描述

注意日期值与 ItemId 值相比的偏移量

查看上面的代码,我不明白为什么它们会有所不同?