设置JFileChooser的最小/最大尺寸 - Java

3

我有一个像这样的 JFileChooser:

JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if(fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
    //do something
}

现在我想设置它的最小/最大尺寸,因为如果我缩小尺寸,它看起来很糟糕,否则(那甚至不是可能的最小尺寸):

Example

如果用户想要缩小JFileChooser的大小,我能否冻结其大小,使其不会变得更小?

Example

我尝试过这个:fileChooser.setMinimumSize(new Dimensio(400, 400));,但它没有起作用。
而且我认为如果用户将窗口缩小到比如600p * 600p还要小,大小会“跳回去”,看起来不太好。
1个回答

3
您可以通过子类化JFileChooser,并在其createDialog方法中自定义对话框:
JFileChooser fileChooser = new JFileChooser() {
    private static final long serialVersionUID = 1;

    @Override
    public JDialog createDialog(Component parent) {
        JDialog dialog = super.createDialog(parent);
        dialog.setMinimumSize(new Dimension(600, 600));
        return dialog;
    }
};

您这样做不会有太大的收获。其他用户的桌面主题和字体与您可能不同。虽然在您的计算机上,600×600像素可能看起来很好,但并不能保证它是适用于其他用户的最小大小。最好的方式是接受事实,如果用户真的想要,他们可以将窗口缩小到无法使用的程度。

你说得对!600p * 600p有点大,但如果只有10p * 10p大小,我认为它看起来不好。 - user8491933

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