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

时间:2018-01-18 17:02:48

标签: java swing min jfilechooser minimum-size

我有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 个答案:

答案 0 :(得分: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像素可能在您的计算机上看起来不错,但不能保证它对其他人来说是一个很好的最小尺寸。最好只接受用户可以根据需要制作一个非常小的窗口。

相关问题