如何在详细视图中启动JFileChooser?

16

我希望我的JFileChooser能够在详细视图中启动,而不是它启动时的“列表”视图。如何做到这一点?

2个回答

25

您可以从ActionMap中获取Action:

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

不错,这可能是更好的方法。实际上,也许你可以帮我解决这个问题:https://dev59.com/hXHYa4cB1Zd3GeqPLGz1#oZ0IoYgBc1ULPQZFJnm9 - Daniel Kaplan
这在2021年仍然是解决方案吗?还是有更好或其他的方法来做到这一点? - Strubbl

2

这可能有点棘手,而且可能不是官方支持的,但我找到了如何做到这一点。首先,您需要获取JFileChooser具有的FilePane。我知道的唯一方法是遍历其组件,然后执行instanceof FilePane直到获得它。然后,这将以详细视图开始:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接