【发布时间】:2023-03-26 23:06:01
【问题描述】:
我试图让 JTree 对象在节点展开时动态调整大小。默认情况下,对象区域是恒定的,当展开时,树的底部部分会消失,除非窗口也被调整大小。我该如何解决这个问题?
【问题讨论】:
我试图让 JTree 对象在节点展开时动态调整大小。默认情况下,对象区域是恒定的,当展开时,树的底部部分会消失,除非窗口也被调整大小。我该如何解决这个问题?
【问题讨论】:
将JTree 放入JScrollPane。
例如(结合垃圾神圣人提示)
import javax.swing.*;
public class BasicTree {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JTree tree = new JTree();
tree.setVisibleRowCount(10);
int rows = tree.getRowCount();
for (int row=rows-1; row>-1; row--) {
tree.expandRow(row);
}
JOptionPane.showMessageDialog(
null,
new JScrollPane(tree));
});
}
}
【讨论】:
JTree 的setVisibleRowCount() 方法与@Andrew Thompson 建议的JScrollPane 结合使用特别有用。
【讨论】: