使用java的面板之间的父子关系

使用java的面板之间的父子关系,java,swing,Java,Swing,我需要使用JavaSwing和JDK1.6为客户端构建一个桌面应用程序。 要求以父子格式显示元素链(每个元素包含textfield、按钮、标签),如下所示: Parent1 Child1 Child2 Child3 child3.1 child3.2 // indentation will be used to display parent child relationship 这类似于JTree的外观,其中每个节

我需要使用JavaSwing和JDK1.6为客户端构建一个桌面应用程序。 要求以父子格式显示元素链(每个元素包含textfield、按钮、标签),如下所示:

Parent1
    Child1  
    Child2  
    Child3  
        child3.1  
        child3.2  
// indentation will be used to display parent child relationship  
这类似于
JTree
的外观,其中每个节点都包含按钮、标签等。

有关于如何使用swing组件实现这一点的帮助吗

您可以使用简单的垂直
BoxLayout
GridLayout
(1列多行)只需在每个元素中添加一个
EmptyBorder
,其中左偏移量是从元素级别计算出来的(0表示根级别+10表示每个级别向下)。

要保留所有JTree功能,还可以在JTree上使用自定义单元渲染器

JTree tree = new JTree(rootVector);
TreeCellRenderer renderer = new YourCellRenderer();
tree.setCellRenderer(renderer);
然后定义自己的渲染器:

class YourCellRenderer implements TreeCellRenderer {
  DefaultTreeCellRenderer defaultRenderer = new DefaultTreeCellRenderer();

  public YourCellRenderer() {
  }

  public Component getTreeCellRendererComponent(JTree tree, Object value,
      boolean selected, boolean expanded, boolean leaf, int row,
      boolean hasFocus) {
      //return the button, label or JPanel you need to render this node.
  }
}

完整示例可用

尝试
大纲
,引用;请注意,“要求我们推荐或查找工具、库或喜爱的非现场资源的问题与堆栈溢出无关。”