Java 在JTree';s节点
我正在尝试构建一个调试GUI,列出错误,同时对它们进行分类,以获得更好的概述。因此,我正在构建一个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
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);
关于如何在表中滚动有什么建议吗?在前面看到了这一点(或它的参考资料),但它不起作用。正如我所说。显示表格有效,只有滚动/调整列大小无效。