1

每次按下按钮时,是否会创建一个新的 JFileChooser 对象?是否可以处理它,或者java会自动为我做吗?

public void buttonPressed(){
    JFileChooser chooser = null;
    LookAndFeel previousLF = UIManager.getLookAndFeel();
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        chooser = new JFileChooser();
        UIManager.setLookAndFeel(previousLF);
    } catch (IllegalAccessException | UnsupportedLookAndFeelException | InstantiationException | ClassNotFoundException e) {}

    File location = new File("C:\\");
    chooser.setCurrentDirectory(location);
    chooser.setDialogTitle("Select Your Directory");
    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    chooser.setAcceptAllFileFilterUsed(false);
    chooser.showOpenDialog(frame);
}
4

2 回答 2

2

Java 使用垃圾收集器自动处理未使用的内存,所以是的。它将自动处理您的 JFileChooser 对象。

同样是的,每次按下按钮时,如果您调用 buttonPressed,将创建一个新的 JFileChooser。这是可以接受的。

于 2013-07-03T18:33:05.813 回答
0

垃圾收集器应该负责删除您的 JFlieChooser 对象。您可以在此处阅读有关垃圾收集器如何工作的更多信息

于 2013-07-03T18:35:26.297 回答