如何在“详细信息”视图中启动 JFileChooser?

2022-09-04 01:21:59

我希望我的JFileChooser从详细信息视图开始,而不是它开始的“列表”视图。你是怎么做到的?


答案 1

您可以从动作地图中获取动作:

JFrame frame = new JFrame();
JFileChooser  fileChooser = new JFileChooser(".");
Action details = fileChooser.getActionMap().get("viewTypeDetails");
details.actionPerformed(null);
fileChooser.showOpenDialog(frame);

答案 2

这有点棘手,可能没有官方支持,但我发现了如何做到这一点。首先,您需要获取 JFileChooser 具有的 FilePane。我知道该怎么做的唯一方法是遍历它的组件,然后做一个,直到你得到它。然后,这将从“详细信息”视图中开始:instanceof FilePane

    if (root instanceof FilePane) {
        FilePane filePane = (FilePane) root;
        Action viewTypeAction = filePane.getViewTypeAction(FilePane.VIEWTYPE_DETAILS);
        viewTypeAction.actionPerformed(null);
    }

推荐