问题标签 [jxtreetable]

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 回答
113 浏览

java - 谓词更改时如何更新 ColourHighlighter (swingx)

我有一个名为 ErrorHighlighter 的类,每当更改名为 errorString 的属性时,它都会收到通知。基于此属性更改事件,我更新 HighLighterPredicate 以突出显示具有红色背景的特定行。

ErrorHighlighter 接收到 propertychangeevent,它也改变了 HighlighterPredicate,但是表格行没有被更新为红色背景。

我还更新了该行的工具提示。这也没有得到反映。

请看下面的代码。有人可以帮忙吗?

0 投票
2 回答
723 浏览

java - 使用 swingx jxtreetable 进行测试时,Fest 变慢了

我不知道如何解释这一点。但我会尝试.. Fest 在使用 swingx 的 JXTreeTable 时会减速爬行。它最初并没有减速。它在一段时间内工作正常,但在重复相同的动作后,它会严重减慢。

我在 github 中为此提出了一个错误。请告诉我这是否是我做错的事情。当我尝试创建 SSCCE 时,我无法重现该问题。

不管怎样,这里有一段慢下来的视频。

http://screencast.com/t/liNttCw2In0w

在 0.39s 到 0.40 的时间执行一组操作。这些是在 JXTreeTable 中有一行时完成的。

在时间 0.49 到记录结束时重复相同的操作,但现在表格中有 3 行,鼠标单击需要很长时间。

我附上了 fest 减慢时截取的屏幕截图,试图对此进行更多解释

在此处输入图像描述

这是完成工作的代码:

步骤 1) 从树中选择一个节点如下:

JTreeFixture folioTreeFixture = importShareholders.panel("treePanel").tree("folioTree");

步骤 2) 从 JXTreeTable 中搜索并选择一行

步骤 3) 显示弹出菜单并单击该行

我不确定为什么它会变慢。如果有更多信息可以提供帮助,请告诉我。将不胜感激解决问题的一些帮助

我已经对应用程序进行了概要分析,但没有发现任何不愉快的事情发生。我没有很多分析应用程序的经验。如果有人可以再看看这个,我将不胜感激。我使用 yourkit 对其进行了分析,并在此处上传了快照转储:

https://www.dropbox.com/s/dh976v01q9c3sgj/ImportShareholderData.shouldTransferAndSplit-2013-06-14-shutdown.snapshot.zip

任何帮助将不胜感激..

编辑:

我想我忘了提到当我手动执行相同的操作时。它只会随着节日而减慢。这让我相信 fest 可能存在问题?

对于那个很抱歉。

编辑 2: 根据 Marcin 的要求(抱歉延迟 Marcin).. 这是第一行被拆分时的代码

0 投票
1 回答
4036 浏览

java - 自定义 TableCellRenderer/TreeTableCellRenderer 不呈现表格单元格

因为我的项目中有很多对象,所以我制作了这个CustomCellRenderer类以用于对象JXTreeTable和对象。JXTable所以这个类实现TreeCellRendererTableCellRenderer接口:

这是我设置渲染器的代码:

I'm expecting background and foreground become blue and white respectively when a row is selected. 然而,它只发生在树表单元格(第一列),而在同一选定行的其他单元格中,只有前景发生变化,背景仍然是白色:

在此处输入图像描述

谁能告诉我为什么细胞(不是树细胞)不会改变它们的背景颜色?

0 投票
0 回答
1206 浏览

java - JXTreeTable 上的 ColorHighlighter - 如果谓词为真,则更改选择颜色

我正在使用带有多个 ColorHighlighter 的 JXTreeTable 来更改包含特定值的行的背景颜色。

如果选择了一行,颜色将变为 SelectionBackground。

是否可以在没有全新渲染器的情况下根据谓词或颜色荧光笔更改选择背景颜色?

编辑:如果选择了一行并且有突出显示,则应该是另一种背景颜色,就像没有突出显示的行一样。

SSCCE

到目前为止,mjohannes

0 投票
1 回答
7641 浏览

java - 如何:在第一列中具有可折叠 JTree 并在其他列中具有数据的 JTable?

在这一点上我有点迷茫:我尝试创建一个 JTable,它能够在第一列中保存某种树(JTree?)数据结构,然后在其他列中基于树节点的数据,如下所示图片:

在此处输入图像描述

该图像显示了我的 JTree 的结构。红线表示我需要实现的表结构。树中的每个节点都应该像该表中的单行一样对待,等等。我希望很清楚我试图实现的目标。

我尝试了一种类似于此处讨论的方法:JTable as a JTree Node和此处Put JTable in the JTree但这不符合我的需要。我还从 SwingX 项目中阅读了有关 JXTreeTable 的信息,但似乎很难找到任何有用的示例。还有许多指向此类解决方案的链接似乎会导致(不再存在)sun 网站和/或被重定向到 oracle 网站...

如果有人能引导我走向正确的方向和/或提供一些关于如何做到这一点的示例代码(对),那就太棒了。

任何帮助,将不胜感激 ;)。

0 投票
0 回答
120 浏览

java - 将 JTable 插入 JXTreeTable

我有一个JXTreeTable每行应该是一个名字的地方,一个JTable带有一些保存的数据和一个Save JButton. 我在正确显示表格和按钮时遇到问题。我已经覆盖了getColumnClass

但这些表格显示为对其特征的描述:

有没有一种特定的方式我应该将 JTable 作为单元格数据插入?谢谢您的帮助!

0 投票
3 回答
87 浏览

java - 动态更改 Swing 控件

我有一个使用JXTreeTable. 我需要能够JXTreeTable定期(例如,每分钟一次)添加内容。我如何JXTreeTable从另一个班级访问它?

我已经习惯了 ExtendScript/JavaScript,以至于我想说一些类似frame.JXTreeTable.contents = x设置TreeTable. 当然,Java 远没有这么简单。我怎样才能做到这一点?

0 投票
2 回答
2460 浏览

java - JTree : Update tree after deleting nodes

I am using my own custom model for JXTree which extends from AbstractTreeTableModel. So the option of reload / removeNodeFromParent is not there.

I have tried using TreeModelListener and treeModelListener.treeNodesRemoved(event) call with every input option possible. Never is my tree's GUI getting updated. Unless i call tree.updateUI() the changed structure is not getting reflected.(But that call is updating the entire tree and i just want the deleted node to be refreshed). I am using my custom tree editor and tree renderer. I have not written any custom tree listener.

So the question i ask is : Does listener.treeNodesRemoved() implicitly call some code that would have the same result as tree.updateUI(). Or do i need to write some code myself to refresh that particular parent node from which the child was deleted. Is the listener call not working because i am using custom tree editor and renderer.

EDIT :

I am posting an SSCCE. In this case i am not using any tree editor or rendrer but the issue can be seen using this code also.

TestModel Class

The Department and Employee class is fairly simple with a constructor and some getter/setters .

So when i click on the delete node button no action is happening on the tree. The UI is not getting updated at all. I am using swingx 1.6.4 version.

Department

Employee

0 投票
2 回答
1438 浏览

java - 如何只需单击鼠标即可编辑 JXTreeTable 单元格?

我想在 a 中使用 aJComboBox作为单元格编辑器JXTreeTable。它适用于标准DefaultCellEditor(即点击计数开始等于 2)。

现在我希望该列只需单击即可编辑。所以我cellEditor.setClickCountToStart(1);在我的代码中添加了一条语句。

这是我的SSCCE

但现在它看起来很丑:

当我点击一个可编辑的单元格时,它会打开JComboBox弹出菜单(太棒了!这是我所期待的!),但是这个弹出菜单会立即关闭(Erf!)。它闪烁。我必须再次单击所选单元格才能最终打开它。

每次我在可编辑列中选择另一个单元格时,问题都会重复。

第一次单击后如何才能真正JComboBox打开弹出菜单?

谢谢。

编辑 2014-01-24

这是相同的示例,但使用JTable. 弹出JComboBox菜单不闪烁

我忘了提到我使用的是 Java 1.6。

编辑 2014-01-24 (2)

使用kleopatra's answerContainerListener和,并运行相同的执行流程,我通过 SSCCE 得到以下输出:FocusListenerJXTreeTable

0 投票
3 回答
2489 浏览

java - JXTreeTable 中的复选框

仍然是这里的 Java 新手,试图为我自己的利益提供太先进的东西。不过,这就是我需要做的:JXTreeTable 中的一个复选框。我的主要课程:

Job 类(TreeTable 中的分支):

OrderDetail 类(TreeTable 中的叶子):

最后是 NoRootTreeTableModel 类,它扩展了 AbstractTreeTableModel 类,因此树的根不显示:

我知道这是很多代码,但我想不出一种快速的方法来减少它并让它按照我需要的方式工作。实际上,它已经减少了很多。(我遗漏了一些通常也在那个 JFrame 中的东西。)

运行代码时,我没有得到分支的复选框;相反,我得到了似乎是复选框代码的字符串表示形式: 树表中的复选框

嗯?这是怎么发生的,更重要的是,我怎样才能让复选框显示出来?