繁体   English   中英

如何让我的TreeCellRenderer填充我的JTree?

[英]How do I make my TreeCellRenderer fill my JTree?

如何让我的树形细胞填充我的JTree的宽度:

JTree tree = new JTree();
tree.setCellRenderer(new TreeCellRenderer() { 
    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value,
        boolean selected, boolean expanded, boolean leaf, int row, 
        boolean hasFocus) {
            // TODO: How do I make this panel fill the width 
            // of the JTree?
            JPanel panel = new JPanel();
            panel.add(new JLabel("ITEM");
            return panel;
        }
});
add(tree);
  • JPanel panel = new JPanel(); JPanel是容器,

  • 默认情况下,空JPanel返回zero Dimension

  • 只有空JPanel (仅限AFAIK)在BorderLayotu返回10px ,如果JPanels被放置到NORTH,SOUTH,WEST,SOUTH区域,那么创建非常漂亮的10pxs EmptyBorders

  • 要重写getPreferredSizeJPanel ,同样的方式为需要在Swing绘画

  • 不知道为什么你把JPanel作为Renderers JComponent放到JTree ,也许还有另外一种方式,确保在SSCCE发布后能更快得到更好的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM