问题标签 [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 投票
2 回答
1312 浏览

java - JXTreeTable 和 JComboBox 单元格编辑器

如何JComboBox在 中用作单元格编辑器JXTreeTable?你能给我一个工作的例子吗?

0 投票
0 回答
203 浏览

java - Java JXTreeTable 制表符支持

JXTreeTable 是否支持制表符(\t)或制表键?当我输入一些像“我的名字”这样的输入时,我和名字之间的空格不是通过空格键而是使用键盘上的 Tab 键。现在,当我在 JXTreeTable 中看到这个输入时,我只能看到 MyName。如果没有制表符空间,任何人都可以对此有任何意见吗?

0 投票
3 回答
3584 浏览

java - 从 JXTreeTable 中获取选定的值

我正在构建一个treetableusingJXTreeTabble并且我想menu根据所选值禁用/启用项目。所以,我试图把这段代码放在我的table model

问题

以上仅适用于table未扩展的内容。因为 的index可能selected row大于sizet able model(模型可以有两个项目,当所有内容都展开时,行可以有 10 个)。此外,the object typeof the 与 theparent不同children(想想一本有章节的书作为它的孩子)。

作为正确执行上述操作的方法,您有什么建议?

0 投票
1 回答
1360 浏览

java - 显示另一个树表中更新的树表值

我正在尝试制作一个场景编辑器来配合我的渲染引擎。我正在使用 swing 来制作 GUI,还使用 ​​swingx 来制作它的JXTreeTable组件。一切正常,除了场景树表没有按照我的意愿自动更新节点的名称。例如,在下一张图片中,我更改了其中一个节点的名称,但似乎没有任何反应。但是,如果我将鼠标移到场景框中的节点(顶部的那个)上,名称就会更新。

在此处输入图像描述

我有两个JXTreeTable,两个扩展的模型AbstractTreeTableModel。这是 Properties 模型的相关代码。

我认为 usingfireChildChanged()会根据需要更新场景树表。

如果我fireChildChanged()用 index=0 调用,我可以在重命名根节点时更新它,但是任何其他索引我必须等到我将鼠标移到它上面才能更新。

编辑:问题已解决

我尝试了@Shakedown 建议的重绘方法,该方法部分有效,但如果新文本比原始文本长,有时会在文本后留下“...”。

然而,我确实意识到问题来自未正确生成的 TreePath。使用TreePath path = new TreePath(sceneSelection.getParent());时,路径的父级为空,因此不允许树更新。我现在使用这个有效的代码:

0 投票
0 回答
122 浏览

java - 如何加载默认值

我正在使用JXTreeTableand构建一个树查看器DefaultTreeTableModel。它将用于将树中的数百万个对象显示为父对象和它们的子对象。

使用此代码在树中插入节点的值 -

该模型已在加载时较早插入到树中。

我想显示一个插入的子项,因为它的值是从保存的结果中一一获取的,但它会在列表完成后将完整列表添加到模型中。

如何动态执行此显示对象列表?

0 投票
2 回答
1493 浏览

java - 如何获得双击的TreeTableNode?

我正在使用 Eclipse,我有一个关于 JXTreeTables 的问题。我希望在双击节点时弹出一个窗口,显示有关节点的一些信息。现在,如果单击不是直接在节点上,是否可以获得 JXTreeTable 的双击节点或 null?

0 投票
1 回答
575 浏览

java - Swingx 组件提供程序:在某些行上隐藏组件

我已将 Swingx 的 ComponentProvider 子类化以提供 JButton,但在我的 JXTreeTable 的某些行上,我不想显示任何按钮。我想要的最终“结果”是有一个空单元格,就像在我没有设置提供程序的列中显示空文本时得到的那样。

  1. 是否可以在某些行上隐藏渲染的组件(例如取决于值)?setVisible(false)在渲染组件上设置format()configureState()不起作用。

  2. 是否可以对 ComponentProvider 进行子类化以提供不同类型的组件?如果是,那将如何运作?

  3. configureState()我在哪里可以找到 ComponentProvider 提供的可能性的一些示例,并清楚地解释哪种方法做什么(例如,我几乎不理解和之间的区别format())?

编辑

  1. 是否可以防止 JX(Tree) 中显示的 JButton?表格与单元格一样宽?

  2. 如果我创建另一个荧光笔,我可以使用另一个谓词(ROLLOVER 或其他东西)来更改光标吗?即使按钮被隐藏,光标也会变为手形(通过链接)。

非常感谢!

0 投票
2 回答
4268 浏览

java - 如何使 JXTreeTable 对其顶部元素进行排序

我知道(我已经查看了来源;))在 JXTreeTable 上的排序已被禁用。

但是,我想允许仅基于根节点的直接子节点的值对所有列进行排序。

假设我有这样的结构:

我想要实现的是仅在第一级节点上对 3 列进行排序。假设我想按升序对它进行排序,结果会是这样:

正如我所看到的,它类似于简单的表排序(因此取消了为禁用排序而调用的层次结构限制)。

我看到了两种可能性:

  1. 重新启用 JXTable 中可用的排序机制,以从已经实现的所有内容中受益(排序器,通过单击标题进行排序,...)并且仅对第一级的节点进行排序(因为它们的子节点仍然具有相同的父节点) .
  2. 实现我需要的基本内容(主要通过单击标题进行排序),在 JXSortableTreeModel 中有一个模型行 id 列表,我对其进行排序并覆盖 convertRowIndexToModel ,这将允许(我认为)显示我想要排序的项目。

我最喜欢的当然是第一个,但我不知道如何实现它。第一个限制是我不知道如何重新启用排序,因为 JXTreeTable 覆盖了 setSortable() (以及所有相关方法),并且我不知道如何直接访问 JXTable 中方法的实现(这是一个 Java 问题)。我可以简单地复制 JXTreeTable 的代码并删除覆盖,但我认为这不是一个选项。

假设我解决了这个问题,我将如何将排序限制在一级节点?即使在查看源代码之后,我也对如何做到这一点一无所知。

对于第二个,我失去了现有代码的所有好处,但我看到了一种实现我想要的实用方法(至少现在。谁知道是否不想过滤所有行上的数据?)。

还有其他方法吗?如果不是,我应该选择哪一种解决方案?有什么有见地的评论吗?

提前谢谢了!

0 投票
1 回答
460 浏览

java - 如何识别 JXTreeTable 中的 TreeTableNode 是否隐藏?

我正在使用 swingxJXTreeTable并想确定是否AbstractMutableTreeTableNode隐藏叶节点 ( ) 或关闭父节点。

我似乎找不到这样做的明显方法。

谢谢!

0 投票
6 回答
4920 浏览

java - 模型更改时更新 JxTreeTable

当底层模型发生变化时,我无法找出重绘 JxTreeTable 的最佳方法。

对于表中的每个节点,我都有一个相应的模型对象,所以如果模型发生变化,我可以获得 Node.js。

此后,给定一个节点,如何在表上触发重绘/更改事件以强制它重绘。欢迎提供线索,对细节的轻描淡写表示歉意,我没有太多可以通过代码展示的内容。