问题标签 [jtreetable]

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

java - JTreeTable 显示问题

我有以下问题。我创建了一个 JTreeTable 和一个扩展 AbstractTreeTableModel 的模型。问题是我的数据只有在每次插入操作后调用 fireTreeStructureChanged() 方法时才会显示。事实上,如果我简单地触发方法 fireTreeNodesInserted(),什么也不会发生。

此外,我的行中的数据仅在添加/删除事件后更新,如果它们简单地更改其值,它们仅在单击表格后更新。

这怎么可能?

编辑

当我调用 fireTreeStructureChanged() 时,它调用方法 fireTableDataChanged(); 而是 fireTreeNodesInserted(int firstRow, int lastRow) 调用 fireTableRowsInserted(); 但也许我传递给它不正确的参数...我必须传递的第一行和最后一行?

0 投票
1 回答
6222 浏览

java - 在 swing 中实现 JTreeTable

我想实现一个 JTreeTable。我在官方java网站上看到了这个例子。我是java的初学者,我无法理解那个例子。我将树节点和子名称作为字符串。我该如何实施?

0 投票
1 回答
223 浏览

java - eclipse : treetable 从第二列创建树

我设法使用来自网络的各种示例使用 treeColumn() 创建了一个树表,它看起来像这样

基本上树在第一列。它从左边绘制。我想要的是从第二列中绘制树,如下所示:

谁能帮我完成这个?还是只是不可能?

0 投票
2 回答
639 浏览

java - JTable 不向上滚动

我有带有 JTreeTable 的 JScrollPane。通常我的 JTable 包含很多项目,应用程序必须将焦点设置到树表中的特定行并滚动到它。我正在使用以下推荐的代码来设置焦点:

出于某种原因,仅当新选择的行低于当前可见行时才有效。但是当程序要求选择一个在当前可见行之上的不可见行时,它根本不会滚动到该位置。我已经用谷歌搜索了很多关于这个问题的信息,但还没有找到任何解决方案。有人知道如何解决这个问题吗?先感谢您。

0 投票
1 回答
1603 浏览

java - JTreeTable DnD 疯狂闪烁放置光标

我正在使用JTreeTable由我自己的模型支持的 Sun 示例的略微修改版本。那将是第三个示例(在http://java.sun.com/products/jfc/tsc/articles/bookmarks/中添加书签)。

除了拖放支持外,一切都按预期工作。我想要 DnD,它更像是 aJTree提供的。由于JTreeTable是一个扩展JTable,它提供了用于确定放置位置的类,当将内容放置到树渲染的列(无路径和无子索引)JTable.DropLocation时,该类没有提供足够的信息。JTreeTable我已经通过创建一个DropLocation基于它的组合JTableJTree版本的自定义类来解决这个问题。我还修改了TreeTableCellRenderer由上述JTreeTable实现提供的类的paint方法,以向用户显示此新信息(她现在可以查看新节点是否将放置在所选节点的内部、之前或之后,如果在内部树列,正如您所期望的JTree)。

不过有一个问题。当放置位置在树列中呈现时,鼠标光标会变得疯狂。它出现然后在几毫秒后消失,或者这种情况发生得太快以至于拖动光标甚至没有显示。这也发生在未修改的 Sun 示例中。我完全不知道为什么会这样。确实在http://www.java.net/node/663106找到了另一个有同样问题的人,但是那里提供的解决方案似乎将组件的放置位置设置为 null 并且无法再使用JTreeTable.getDropLocation()方法检索。我需要它来将其转换为我的修改DropLocation,然后根据它绘制东西。对于我的用例,我非常接近一个合适的解决方案,以至于我可以品尝到它。这个光标闪烁的东西是我前进的唯一障碍。有任何想法吗?

使用 Java 1.6。

PS:我决定使用自定义JTreeTable而不是现有组件之一(例如 Netbeans Outline 或JXTreeTable),因为它们似乎都遇到了JTable.DropLocation问题,并且不支持在所选树节点之前或之后删除(仅在内部)。如果您知道确实提供此类功能的组件,我会很高兴听到它。

0 投票
1 回答
492 浏览

java - JTreeTable 选择侦听器索引

我正在使用从 java sun 示例中获取的 JTreeTable。我具有以下结构:

这代表 3 个节点折叠了..

这是扩展的结构。我在我的 ListSelectionModel 中添加了一个 ListSelectionListener。

假设我从折叠结构中选择节点“4”。当我进入 valueChanged(ListSelectionEvent e) 方法时,

但这意味着索引不是绝对的,而是与结构的状态有关。事实上,如果我展开结构并再次选择节点“4”

通过这种方式,我无法明确识别 TreeTable 中选定的行。你知道我该如何解决这个问题吗?谢谢

0 投票
1 回答
3174 浏览

java - JXTreeTable:如何使用 ComponentProvider 为一列设置渲染器

我正在使用 JXTreeTable 来显示一些数据,并且我想使用 SwingX 提供的机制来更改某些列的渲染器。

我以前使用过 JXTable 和 TableCellRenderer 的自定义实现,但这不再起作用(我看到应该有进度条、按钮等的字符串)。

因此,我试图通过以下方式实现我想要的:

但是 ComponentProvider 的覆盖方法createRenderer被调用一次(即使我的 JXTreeTable 中有不止一行)并且没有显示任何按钮(该方法仅包含return new JButton();)。

谢谢!

编辑>希望你能回答 kleopatra,因此你很高兴。

我尽了最大努力,但不知何故没有显示表格。我想我忘记了一些东西(我是一名刚接触 Java 的 C++ 开发人员),但我想这不是一个严重的问题,它可能与我的主要问题无关。

编辑>我实际上已经观察到它有效。但不是我想要的方式。我想看到一个真正的按钮(现在它看起来与该行的其余部分有点不同),知道它的路径(父对象和列索引)并查看单击或悬停在它上时的效果(按钮应该看起来被按下,...)。

我该如何做到这一点?

0 投票
1 回答
2898 浏览

java - Java JTable 展开折叠行为

谁能指出我的方向,我如何使用JTable实现以下行为?

http://www.jankoatwarpspeed.com/examples/expandable-rows/

我需要一些示例代码来使单元格中的图像可点击(更改展开/折叠图像)。

请帮忙。

0 投票
2 回答
476 浏览

java - JXTreeTable - 从外部应用程序操作复选框 - 可能吗?

使用 Java 代码,我试图操纵另一个外部 Java swing 应用程序,我无法访问有关它是如何编码的任何信息。具体来说,我正在尝试操作 JXTreeTable。布尔类型的列之一包含复选框。

我尝试做的一件事是编写双击然后空格键操作的代码,该操作有效。但是,我的经理希望我想办法在不使用空格键的情况下切换复选框。

我想知道 - 尽管我对原始应用程序的设计视而不见,但有人知道使用 Java 方法切换复选框的方法吗?我尝试将 setCellData() 与布尔参数一起使用。奇怪的是,在返回我修改它的值后立即调用 getCellData() 到单元格上,但复选框本身并没有被切换 - 另外,在提交表单时,它是发送的复选框反映的值,而不是布尔值细胞。

此外,布尔列中的复选框带有标签。我感觉这些标签是由 TableRenderer 生成的,但是我怎样才能获取标签上的值呢?

注意:我正在通过我正在编写的自动化测试脚本执行所有 Java 代码(准确地说是在 QTP 中)。因此,我可以使用的许多方法都受到限制(例如,我无法编写自己的自定义 Java 类)

0 投票
3 回答
1546 浏览

java - Java中的多级(嵌套?)Jlist

有没有办法创建一个具有多个(我的目标是三个)级别的 JList?

像这样的东西:

我的程序中有(最多)三级组件 GUI,我需要以某种方式使用户能够组织 GUI 的元素,将它们移动到彼此上方或下方。

可以用 JList 完成,还是有另一种处理此类事情的方法?也许一些图书馆?