gpt4 book ai didi

java - JTree 在节点展开时扩大宽度

转载 作者:行者123 更新时间:2023-11-30 09:49:15 24 4
gpt4 key购买 nike

我遇到了 JTree 的难题。

我已经实现了一个带有自写模型的 JTree(从 TreeModel 扩展而来)。

    fileSystemModel = new MyModel(new File(directory));
fileTree = new JTree(fileSystemModel);
fileTree.setEditable(true);
fileTree.setDragEnabled(true);
fileTree.addTreeSelectionListener(new TreeSelectionListener() {

public void valueChanged(TreeSelectionEvent event) {
File file = (File) fileTree.getLastSelectedPathComponent();
}
});

所以我将它添加到 JPanel 并将这个 JPanel 添加到 JFrame。

不,我遇到了这个问题:我启动了框架,如果我展开单个节点,JTree 的宽度将扩大到显示叶子所需的宽度。

我试着这样设置:

fileTree.setMaximumSize(width, height);

但它失败了,我还尝试将 JTree 嵌入到具有最大尺寸的 JScrollPanel 中,但也失败了。

JTree 仍在根据需要调整其宽度。

所以我现在试了两天,但没有找到任何东西,所以如果你们中有人能帮助我,我将不胜感激。

谢谢!

最佳答案

所描述的效果是 JPanel 的默认 FlowLayout 的特征。点击左侧面板可以看到变化是这个example .

附录:如 example 中所示, GridLayout 允许组件展开;它与 setVisibleRowCount() 后接 pack() 配合使用效果特别好。

关于java - JTree 在节点展开时扩大宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com