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

问题描述 投票:0回答:1

如何让我的树单元填充 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);
java swing jpanel jtree treecellrenderer
1个回答
5
投票
  • JPanel panel = new JPanel();
    JPanel
    是容器,

  • JPanel
    默认返回
    zero Dimension
    ,

  • 仅空

    JPanel
    (仅限 AFAIK)在
    10px
    中返回
    BorderLayotu
    ,在 JPanel 放置到北、南、西、南区域的情况下,然后创建非常漂亮的 10 像素
    EmptyBorders

  • 必须覆盖

    getPreferredSize
    JPanel
    ,与在 Swing 中绘画所需的方式相同

  • 不知道为什么你把

    JPanel
    作为
    Renderers JComponent
    放入
    JTree
    ,也许还有其他方法,一定要尽快发布更好的帮助
    SSCCE

© www.soinside.com 2019 - 2024. All rights reserved.