0

JFileChooserで、ファイルを上書きしようとしたときに、プログラムがユーザーにそれを実行しようとしていることを通知するようにします。

これは、ユーザーがJFileChooserでAPPROVE_OPTIONを押したときに実行されます。

ただし、JFileChooserをすぐに閉じたくないのですが、そのようなファイルがすでに存在する場合は、JDialogを表示します。これにより、ユーザーが上書きしたい場合は上書きし、そうでない場合はJDialogを閉じてJFileChooserに戻ります。

JDialogを開く前に、JFileChooser条件を保存できます。ユーザーが上書きしないことを選択した場合は、保存した情報を使用してJFileChooser全体を再作成するだけです。

しかし、もっと簡単な方法があるのではないかと思っていました。ある?

4

1 に答える 1

3

approveSelection()メソッドをオーバーライドできるはずです。

final JFileChooser chooser = new JFileChooser( new File(".") )
{
    public void approveSelection()
    {
        if (getSelectedFile().exists())
        {
            System.out.println("Do You Want to Overwrite File?");
            return;
        }
        else
            super.approveSelection();
    }
};

メッセージを表示する代わりに、JOptionPaneを使用してユーザーにプロンプ​​トを表示できます。ユーザーが同意した場合は、super.approveSelection();を呼び出します。

于 2013-02-09T21:05:27.750 に答える