如何让我的树单元填充 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)在 10px
中返回 BorderLayotu
,在 JPanel 放置到北、南、西、南区域的情况下,然后创建非常漂亮的 10 像素 EmptyBorders
必须覆盖
getPreferredSize
为 JPanel
,与在 Swing 中绘画所需的方式相同不知道为什么你把
JPanel
作为Renderers JComponent
放入JTree
,也许还有其他方法,一定要尽快发布更好的帮助SSCCE