问题标签 [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.
java - JXTreeTable 和 JComboBox 单元格编辑器
如何JComboBox
在 中用作单元格编辑器JXTreeTable
?你能给我一个工作的例子吗?
java - Java JXTreeTable 制表符支持
JXTreeTable 是否支持制表符(\t)或制表键?当我输入一些像“我的名字”这样的输入时,我和名字之间的空格不是通过空格键而是使用键盘上的 Tab 键。现在,当我在 JXTreeTable 中看到这个输入时,我只能看到 MyName。如果没有制表符空间,任何人都可以对此有任何意见吗?
java - 从 JXTreeTable 中获取选定的值
我正在构建一个treetable
usingJXTreeTabble
并且我想menu
根据所选值禁用/启用项目。所以,我试图把这段代码放在我的table model
:
问题
以上仅适用于table
未扩展的内容。因为 的index
可能selected row
大于size
t able model
(模型可以有两个项目,当所有内容都展开时,行可以有 10 个)。此外,the object type
of the 与 theparent
不同children
(想想一本有章节的书作为它的孩子)。
作为正确执行上述操作的方法,您有什么建议?
java - 显示另一个树表中更新的树表值
我正在尝试制作一个场景编辑器来配合我的渲染引擎。我正在使用 swing 来制作 GUI,还使用 swingx 来制作它的JXTreeTable
组件。一切正常,除了场景树表没有按照我的意愿自动更新节点的名称。例如,在下一张图片中,我更改了其中一个节点的名称,但似乎没有任何反应。但是,如果我将鼠标移到场景框中的节点(顶部的那个)上,名称就会更新。
我有两个JXTreeTable
,两个扩展的模型AbstractTreeTableModel
。这是 Properties 模型的相关代码。
我认为 usingfireChildChanged()
会根据需要更新场景树表。
如果我fireChildChanged()
用 index=0 调用,我可以在重命名根节点时更新它,但是任何其他索引我必须等到我将鼠标移到它上面才能更新。
编辑:问题已解决
我尝试了@Shakedown 建议的重绘方法,该方法部分有效,但如果新文本比原始文本长,有时会在文本后留下“...”。
然而,我确实意识到问题来自未正确生成的 TreePath。使用TreePath path = new TreePath(sceneSelection.getParent());
时,路径的父级为空,因此不允许树更新。我现在使用这个有效的代码:
java - 如何加载默认值
我正在使用JXTreeTable
and构建一个树查看器DefaultTreeTableModel
。它将用于将树中的数百万个对象显示为父对象和它们的子对象。
使用此代码在树中插入节点的值 -
该模型已在加载时较早插入到树中。
我想显示一个插入的子项,因为它的值是从保存的结果中一一获取的,但它会在列表完成后将完整列表添加到模型中。
如何动态执行此显示对象列表?
java - 如何获得双击的TreeTableNode?
我正在使用 Eclipse,我有一个关于 JXTreeTables 的问题。我希望在双击节点时弹出一个窗口,显示有关节点的一些信息。现在,如果单击不是直接在节点上,是否可以获得 JXTreeTable 的双击节点或 null?
java - Swingx 组件提供程序:在某些行上隐藏组件
我已将 Swingx 的 ComponentProvider 子类化以提供 JButton,但在我的 JXTreeTable 的某些行上,我不想显示任何按钮。我想要的最终“结果”是有一个空单元格,就像在我没有设置提供程序的列中显示空文本时得到的那样。
是否可以在某些行上隐藏渲染的组件(例如取决于值)?
setVisible(false)
在渲染组件上设置format()
或configureState()
不起作用。是否可以对 ComponentProvider 进行子类化以提供不同类型的组件?如果是,那将如何运作?
configureState()
我在哪里可以找到 ComponentProvider 提供的可能性的一些示例,并清楚地解释哪种方法做什么(例如,我几乎不理解和之间的区别format()
)?
编辑
是否可以防止 JX(Tree) 中显示的 JButton?表格与单元格一样宽?
如果我创建另一个荧光笔,我可以使用另一个谓词(ROLLOVER 或其他东西)来更改光标吗?即使按钮被隐藏,光标也会变为手形(通过链接)。
非常感谢!
java - 如何使 JXTreeTable 对其顶部元素进行排序
我知道(我已经查看了来源;))在 JXTreeTable 上的排序已被禁用。
但是,我想允许仅基于根节点的直接子节点的值对所有列进行排序。
假设我有这样的结构:
我想要实现的是仅在第一级节点上对 3 列进行排序。假设我想按升序对它进行排序,结果会是这样:
正如我所看到的,它类似于简单的表排序(因此取消了为禁用排序而调用的层次结构限制)。
我看到了两种可能性:
- 重新启用 JXTable 中可用的排序机制,以从已经实现的所有内容中受益(排序器,通过单击标题进行排序,...)并且仅对第一级的节点进行排序(因为它们的子节点仍然具有相同的父节点) .
- 实现我需要的基本内容(主要通过单击标题进行排序),在 JXSortableTreeModel 中有一个模型行 id 列表,我对其进行排序并覆盖 convertRowIndexToModel ,这将允许(我认为)显示我想要排序的项目。
我最喜欢的当然是第一个,但我不知道如何实现它。第一个限制是我不知道如何重新启用排序,因为 JXTreeTable 覆盖了 setSortable() (以及所有相关方法),并且我不知道如何直接访问 JXTable 中方法的实现(这是一个 Java 问题)。我可以简单地复制 JXTreeTable 的代码并删除覆盖,但我认为这不是一个选项。
假设我解决了这个问题,我将如何将排序限制在一级节点?即使在查看源代码之后,我也对如何做到这一点一无所知。
对于第二个,我失去了现有代码的所有好处,但我看到了一种实现我想要的实用方法(至少现在。谁知道是否不想过滤所有行上的数据?)。
还有其他方法吗?如果不是,我应该选择哪一种解决方案?有什么有见地的评论吗?
提前谢谢了!
java - 如何识别 JXTreeTable 中的 TreeTableNode 是否隐藏?
我正在使用 swingxJXTreeTable
并想确定是否AbstractMutableTreeTableNode
隐藏叶节点 ( ) 或关闭父节点。
我似乎找不到这样做的明显方法。
谢谢!
java - 模型更改时更新 JxTreeTable
当底层模型发生变化时,我无法找出重绘 JxTreeTable 的最佳方法。
对于表中的每个节点,我都有一个相应的模型对象,所以如果模型发生变化,我可以获得 Node.js。
此后,给定一个节点,如何在表上触发重绘/更改事件以强制它重绘。欢迎提供线索,对细节的轻描淡写表示歉意,我没有太多可以通过代码展示的内容。