使用具有不同根和节点类型的TreeTable

| 我有以下问题: 我希望有一个类似于JTeeTable的表组件,除了树的根(以下类)和节点不是同一类型。 例如,假设我有以下课程:
public final class Entry {

    private int id;
    private String title;
    private String notes;

    private List<SubEntry> subEntryList; /** @see SubEntry*/
}


public final class SubEntry{
    private int id;
    private String title;
    private String notes;

}
尽管这两个类看起来很相似,并且可能会激发继承的理由,但它们并不是这种关系。可以将其视为包含汽车部件列表的汽车,或者包含演员列表的电影。 两个星期以来,我一直在尝试一种视觉上呈现上述内容的方法。我曾考虑过使用JTreeTable组件,但是当子条目(节点??)与条目(叶子??)具有相同的类型时,我所遇到的所有示例都是交叉显示用法。 到目前为止我的想法: 看到如果我使用表,这些列将共享相同的名称,我认为我应该使用一个表和另一个表作为TableCellRenderer,然后在双击父行时支持显示/隐藏。 我不确定如何前进... 因此,如果您有任何想法我应该怎么做,请分享您的想法。 更新
//I finally managed to sort out the tree table model.
//Below is the snippet of what I have done. 

        private List<Entry> root; 

        public EntryTreeTableModel(List<Entry> root) { 
              this.root = root;
        } 

    public int getChildCount(Object parent) { 

      if (parent instanceof List){ 
             return ((ArrayList<Entry>) parent).size(); 
      }else if (parent instanceof Entry){ 
            return ((Entry)parent).getSubEntries().size(); 
      } 
     return 0; 
   }

   public Object getChild(Object parent, int index) {
        if (parent instanceof List){
            return ((ArrayList<Entry>) parent).get(index);
        }else if (parent instanceof Entry){
            return ((Entry)parent).getSubEntries().get(index);
        }else if (parent instanceof Entry){
            return ((SubEntry)parent); // Hmmm, this feels wrong. Check later.
        }
            return \"...\";  // Just to indicate that something went wrong
    }
其他遵循相同方法的方法   非常感谢所有分享的人   他们的想法。再次感谢   垃圾桶...     
已邀请:
如本示例所示,
org.netbeans.swing.outline.Outline
类似乎是一个很好的候选者。特别是,
Outline
使用ѭ4\,\ 4“将任何类型的对象接受为树节点。”将模型与示例进行比较,,5ѭ对应于目录,
SubEntry
对应于其中包含的文件列表。有关相关示例,请参见创建数据模型。     

要回复问题请先登录注册