标签: jtreetable

Java Swing表树

在Eclipse中打开XML时,内容可以像树结构一样显示

XML树视图

树被"嵌入"在表格中,内容显示在单独的列中.

这在Swing中复制非常好,不是专门针对XML内容,而是针对具有树结构的类似数据.

UPDATE

我刚刚了解了JTreeTable,但我真的需要在NetNeans中做到这一点.应该提一下,对不起.

有任何想法吗?

java swing netbeans jtreetable

13
推荐指数
2
解决办法
2万
查看次数

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

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

在此输入图像描述

该图像显示了我的JTree的结构.红线表示我需要实现的表结构.树中的每个节点应该像该表中的单行一样进行treatet等等.我希望我能够清楚地了解到我想要实现的目标.

我试过像这里讨论的那样:JTable作为一个JTree节点,这里把JTable放在JTree中,但这不符合我的需要.我还从SwingX项目中了解了JXTreeTable,但似乎很难找到任何有用的例子.此类解决方案的许多链接似乎导致(不再存在)sun网站和/或重定向到oracle网站......

如果有人可以引导我走向正确的方向和/或提供一些如何做到这一点的正常代码(右),这将是非常棒的.

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

java swing jtree jtreetable jxtreetable

8
推荐指数
1
解决办法
6839
查看次数

如何在鼠标单击时显示工具提示

我有一个JTreeTable并且已成功实现了MouseMotionListener一个只要鼠标位于其中一个单元格上就显示工具提示.但是,单击单元格时,工具提示不会显示.我已经尝试过几样的事情,例如在事件mouseClickedmouseReleased事件上设置文本,但这不起作用.我发现这个代码 -

Action toolTipAction = treeTable.getActionMap().get("postTip");

if(toolTipAction != null){

   ActionEvent postTip = new ActionEvent(treeTable,ActionEvent.ACTION_PERFORMED, "");
   toolTipAction.actionPerformed(postTip);    
}
Run Code Online (Sandbox Code Playgroud)

mouseReleased方法中使用,它确实使用tooltip popup,但它然后处于错误的位置.所以接下来我尝试重写getTooltipLocation方法JTreeTable,这对mouseMoved事件很好,但不会用上面的方法调用.任何人都可以阐明如何做到这一点?

谢谢安迪

java swing tooltip jtreetable

7
推荐指数
2
解决办法
9927
查看次数

JTreeTable DnD疯狂闪烁的光标

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

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

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

使用Java 1.6.

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

java swing drag-and-drop cursor jtreetable

6
推荐指数
1
解决办法
1477
查看次数

是否存在允许变量行高的JTreeTable实现

我一直在寻找这个.我需要一个JTreeTable支持变量行高的.具体来说,我希望显示顶级节点的行高于它们下面的子行.

我一直在使用JXTreeTable基于原始Sun文章的SwingX实现().但是,它特别禁止变量行高,并且没有重写JXTree我无法看到通过.

在我开始讨厌的事情之前,会感激地收到任何提示/指示......

java swing swingx treetable jtreetable

5
推荐指数
1
解决办法
1694
查看次数

在JTree的节点内创建JTable

我知道之前有人问这个问题,但我没有得到适当的解决方案.
我读到了大纲,但这与我想要的正好相反,即JTree
中的JTable我希望在JTable中显示数据,但它存储为不同的组,因此
当我花费一个组(节点)JTable时,这些组是JTree的节点显示该组.

我在oracle中阅读了这篇文章:在Swing中创建TreeTables:第1部分

这是相当陈旧的,不适用于我的java版本(我不知道为什么!),所以我
浏览了TreeTable的下一部分:在Swing中创建TreeTables:第2部分

整个代码比较新,因为它使用"javax.swing"代替
"com.sun.java.swing",但我遇到的问题是一个名为
"FileSystemModel2.java"的文件丢失了它是从以前的版本所以我不能
使用旧的.有一些方法添加到新的"FileSystemModel.java".如何通知
他们这个丢失的文件或如果你有不同的方法请告诉我.

我想要实现的目标如下图所示:


实现JTreeTable的图像

这张图片来自"LastPass",我想让我自己的密码管理器作为我的项目
所以请帮助我,我是如此接近,但我不能进一步.

java swing custom-renderer jtreetable

5
推荐指数
1
解决办法
2822
查看次数

在 Swing 中创建树表

使用本手册(http://www.comp.nus.edu.sg/~cs3283/ftp/Java/swingConnect/tech_topics/tables-trees/tables-trees.html)我正在尝试为我的项目创建树表摆动用户界面。

在我的表类的构造函数中,我重新定义了这样的渲染:

public class JTreeTable extends JTable {
    public JTreeTable(ITreeTableModel treeTableModel) {
        super();
        ...
        setDefaultRenderer(ITreeTableModel.class, tree); 
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)

其中 treeTableModel 是我的实现

interface ITreeTableModel extends TreeModel
Run Code Online (Sandbox Code Playgroud)

在结果表中看起来接近我想要的,但我有几个问题:

在此处输入图片说明

  1. 我的代码中的字段(ID)定义为对象,但实际上它代表数字(1、2、3 等)。如何更改字段 ID 的表示?

  2. 我的表中的节点不会扩展。但

    public int getChildCount(Object parent_object_id)

返回数字 > 0

ps我知道可能没有足够的信息来直接回答,但我至少需要指导我可以继续我的调查。

java swing jtreetable

5
推荐指数
1
解决办法
1821
查看次数

在 Swing 中实现 JTreeTable

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

java swing jtreetable

4
推荐指数
1
解决办法
6136
查看次数

一个像JTreeTable的表,可编辑的组件,如ComboBox,TextArea,CheckBox as Rows

在此输入图像描述

在java中是否有任何自定义插件(如带有可编辑java组件的JTreeTable),如上图所示.

我知道这可以通过扩展JTreeTable或JXTreeTable类或使用TreeCellEditor等来完成......但是,我需要一个非常精确的结构,如上图所示,请指导我并提前致谢.

java swing jtree jtreetable jxtreetable

4
推荐指数
1
解决办法
976
查看次数

Java中的多层次(嵌套?)Jlist

有没有办法创建一个具有多个(我瞄准三个)级别的JList?

像这样的东西:

level 1 item
  level 2 item
  level 2 item
     level 3 item
level 1 item
level 1 item
  level 2 item
  level 2 item
     level 3 item
     level 3 item
Run Code Online (Sandbox Code Playgroud)

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

它可以用JList完成,还是有其他方法来处理这些事情?也许有些图书馆?

java swing jtree jlist jtreetable

2
推荐指数
2
解决办法
1328
查看次数

删除Java JTree结构的节点子节点

我有一个ftp程序,每次扩展时检索文件夹数据.它通过使用这样的模型来做到这一点:


    private void FilesTreeTreeExpanded(javax.swing.event.TreeExpansionEvent evt) {
String path = new String("");

 DefaultMutableTreeNode chosen = (DefaultMutableTreeNode) evt.getPath().getLastPathComponent();

 String[] pathArray = evt.getPath().toString().replaceAll("]", "").split(",");
 for (int i = 1 ; i < pathArray.length ; i++) path += "/"+ pathArray[i].trim();
Run Code Online (Sandbox Code Playgroud)

//我被选中了.removeAllChildren(); 没有成功ftp.GoTo(路径);

ArrayList listDir = null; listDir = ftp.ListDir(); ArrayList listFiles = null; listFiles = ftp.ListFiles(); DefaultMutableTreeNode child = null,dir = null,X = null; //这会将文件添加到树中(int i = 0; i <listFiles.size(); i ++){child = new DefaultMutableTreeNode(listFiles.get(i)); if(listFiles.size()> 0)model.insertNodeInto(child,selected,0); } //这将为列表添加dirs(int i = 0; i <listDir.size(); …
Run Code Online (Sandbox Code Playgroud)

java swing jtree jtreetable

0
推荐指数
1
解决办法
5829
查看次数