当我双击一个目录时,JFileChooser 没有打开该目录,即它没有浏览它,但它选择了该目录并返回。如何实现 JFileChooser 以便在双击时显示文件夹的内容?
如果设置了setFileSelectionMode(JFileChooser.FILES_ONLY)则行为符合我的需要,但我必须使用FILES_AND_DIRECTORIES。
问问题
3909 次
1 回答
2
你可以添加你自己的MouseListener
final JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fileChooser.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent arg0) {
if(arg0.getClickCount() == 2) {
File file = fileChooser.getSelectedFile();
if(file.isDirectory()) {
fileChooser.setCurrentDirectory(file);
fileChooser.rescanCurrentDirectory();
}
else {
fileChooser.approveSelection();
}
}
}
//Other methods (can be empty)
});
这将检查双击并从JFileChooser
检查中获取所选文件是否为目录,如果它跟随它,如果它是一个文件,则返回该文件。此外,如果您选择一个目录并点击打开它会打开该目录。
于 2012-04-19T16:40:35.820 回答