如何让我的树单元填充我的 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
默认返回零维度
,只有空的
JPanel
(仅 AFAIK)在BorderLayotu
中返回10px
,在 JPanel 放置在北方的情况下, SOUTH, WEST, SOUTH 区域,然后创建非常漂亮的 10pxsEmptyBorders
必须为
JPanel
重写getPreferredSize
,与在 Swing 中绘画所需的方法相同不知道为什么要将
JPanel
作为Renderers JComponent
放入JTree
中,也许还有其他方法),确保尽快发布SSCCE
以获得更好的帮助
关于java - 如何让我的 TreeCellRenderer 填充我的 JTree?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075912/