Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构造具有数学矩阵编辑支持的JFace TableViewer_Java_Eclipse_Swt_Rcp_Jface - Fatal编程技术网

Java 构造具有数学矩阵编辑支持的JFace TableViewer

Java 构造具有数学矩阵编辑支持的JFace TableViewer,java,eclipse,swt,rcp,jface,Java,Eclipse,Swt,Rcp,Jface,我们的应用程序(基于EclipseRCP,使用基于JFace/SWT的接口)需要支持数学矩阵的编辑。矩阵始终为正方形,可以是2x2到11x11之间的任意大小。此外,界面上将放置按钮,以允许用户增加或缩小矩阵 我们在代码中使用JFace TableViewer和TreeViewer来编辑非矩阵数据。如果可能的话,我想使用相同的一般结构来编辑矩阵 我使用每个矩阵元素一行将数据持久化到MySQL数据库中,如下所示: +----------------------+------------+------

我们的应用程序(基于EclipseRCP,使用基于JFace/SWT的接口)需要支持数学矩阵的编辑。矩阵始终为正方形,可以是2x2到11x11之间的任意大小。此外,界面上将放置按钮,以允许用户增加或缩小矩阵

我们在代码中使用JFace TableViewer和TreeViewer来编辑非矩阵数据。如果可能的话,我想使用相同的一般结构来编辑矩阵

我使用每个矩阵元素一行将数据持久化到MySQL数据库中,如下所示:

+----------------------+------------+------+-----+---------+-------+
| Field                | Type       | Null | Key | Default | Extra |
+----------------------+------------+------+-----+---------+-------+
| id                   | bigint(20) | NO   | PRI | NULL    |       |
| rowNum               | bigint(20) | NO   |     | NULL    |       |
| columnNum            | bigint(20) | NO   |     | NULL    |       |
| value                | double     | NO   |     | NULL    |       |
| matrix_id            | bigint(20) | NO   | MUL | NULL    |       |
+----------------------+------------+------+-----+---------+-------+
我遇到的问题是JFace“input”似乎对应于呈现表中的单个表行。在我的例子中,一个数据库行对应于表中的一个单元格,而不是整行

我能想到的唯一一件事就是在幕后以某种方式存储一个对象,以保持矩阵的状态,并有效地将数据库行转换为一个适当的JFace-able模型。(例如,如果我有一个3x3矩阵,将九行传入代理对象,并使用三乘三数组调用
viewer.setInput(object)
。但这似乎是一个需要支持的噩梦,因为我需要将此对象与内部模型和数据库保持同步


这里有没有人有这方面的经验,可以给我一些建议?

一个多星期后没有答案,所以我就自己写了一个。我制作了一个类,有效地作为JFace表的输入,该表将矩阵的行和列转换成一个
列表,然后ContentProvider、LabelProvider和EditingSupport都可以使用它。我还可以添加“增大大小”和“减小大小”按钮,以允许用户根据需要增大或缩小矩阵