我对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。
不,我遇到了这个问题:我启动了Frame,如果我展开一个Node,JTree的宽度将扩大到显示叶子所需的宽度。
我试图设置这个:
fileTree.setMaximumSize(width, height);
但它失败了,我也尝试将JTree嵌入到带有最大大小的JScrollPanel中,这也失败了。
JTree仍在调整其宽度需要多少。
所以我现在尝试了两天并没有找到任何东西,所以如果有人能帮助我,我会很感激。
谢谢!