Java 在JTree';s节点

Java 在JTree';s节点,java,swing,jtable,jscrollpane,jtree,Java,Swing,Jtable,Jscrollpane,Jtree,我正在尝试构建一个调试GUI,列出错误,同时对它们进行分类,以获得更好的概述。因此,我正在构建一个JTree,其中JTables作为叶子。由于表格需要一些空间,因此需要JScrollPane。现在显示这个或多或少可以工作,但我无法在表中滚动 CellRenderer: private static class MyTableCellRenderer implements TreeCellRenderer { @Override public Component getTreeCe

我正在尝试构建一个调试GUI,列出错误,同时对它们进行分类,以获得更好的概述。因此,我正在构建一个
JTree
,其中
JTables
作为叶子。由于表格需要一些空间,因此需要
JScrollPane
。现在显示这个或多或少可以工作,但我无法在表中滚动

CellRenderer

private static class MyTableCellRenderer implements TreeCellRenderer {
    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
            boolean leaf, int row, boolean hasFocus) {
        Object v = ((DefaultMutableTreeNode) value).getUserObject();
        if (v instanceof JTable) {
            JPanel panel = new JPanel();
            panel.add(((JTable) v).getTableHeader());
            panel.add(new JScrollPane((JTable) v));
            return panel;
        }
        return new JLabel(v.toString());
    }
}
面板和树:

JFrame frame = new JFrame();
JPanel panel = new JPanel();
frame.add(panel);

DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode("root");
JTree tree = new JTree(parentNode);
tree.setCellRenderer(new MyTableCellRenderer());
DefaultMutableTreeNode tableNode = new DefaultMutableTreeNode(new JTable(new Object[0][], new Object[] {"col1"}));
//add some content
parentNode.add(tableNode);
关于如何在表中滚动有什么建议吗?

在前面看到了这一点(或它的参考资料),但它不起作用。正如我所说。显示表格有效,只有滚动/调整列大小无效。