3

我有一个JFileChooser这样的:

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

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

例子

JFileChooser如果用户想让它比这个更小,我不能冻结它的大小吗?:

例子

我试过这个:fileChooser.setMinimumSize(new Dimensio(400, 400));,但它没有用。
而且我认为它看起来不太好,如果尺寸“跳”回来,当用户使窗口更小时,例如600p * 600p.

4

1 回答 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 像素在您的计算机上可能看起来不错,但不能保证它对其他人来说是一个不错的最小尺寸。如果他们真的想要,最好接受用户可以使窗口小得无法使用。

于 2018-01-18T22:40:41.937 回答