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 に答える