Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何处置JFileChooser_Java_Swing_Dispose_Jfilechooser - Fatal编程技术网

Java 如何处置JFileChooser

Java 如何处置JFileChooser,java,swing,dispose,jfilechooser,Java,Swing,Dispose,Jfilechooser,每次按下按钮时,是否会创建新的JFileChooser对象?是可以处理它,还是java自动为我处理 public void buttonPressed(){ JFileChooser chooser = null; LookAndFeel previousLF = UIManager.getLookAndFeel(); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNam

每次按下按钮时,是否会创建新的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);
}

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


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

垃圾收集器应该负责删除JFlieChooser对象。您可以阅读更多关于垃圾回收器如何工作

创建文件选择器类所需的时间是如此之大,以至于可以考虑使用惰性加载方法,但是如果您认为它将被重用,请保持创建的实例。如果在过去甚至设置了一个全局的,并根据需要进行配置