14

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

4

2 回答 2

21

您可以从 ActionMap 中获取 Action:

JFrame frame = new JFrame();
JFileChooser  fileChooser = new JFileChooser(".");
Action details = fileChooser.getActionMap().get("viewTypeDetails");
details.actionPerformed(null);
fileChooser.showOpenDialog(frame);
于 2013-04-30T05:27:21.370 回答
2

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

    if (root instanceof FilePane) {
        FilePane filePane = (FilePane) root;
        Action viewTypeAction = filePane.getViewTypeAction(FilePane.VIEWTYPE_DETAILS);
        viewTypeAction.actionPerformed(null);
    }
于 2013-04-30T05:08:15.980 回答