1

JavaのMVCアーキテクチャでJFileChooserを処理する最良の方法/方法は? 私のコントローラーはメイン GUI でイベントをリッスンしており、そのボタンで動作します。つまり、コントローラーはモデルで適切なメソッドを呼び出し、それ (コントローラー) はビューを更新します。問題は、JFileChooser を追加し、コントローラーを介して選択したファイルのフルパスでモデルを更新したいということです。
この回答のコードを使用しています@Hovercraft Full Of Eels によってプロジェクトのベースとして開発され た Java Swing アプリでコントローラーからビューの更新を管理する方法。
これどうやってするの?

4

1 に答える 1

4

これがベアボーンバージョンです。ActionListenerこのメソッドは、によってトリガーされた私のクラスの 1 つから来ましたJMenuItem

GUI フレームのインスタンスと GUI モデルのインスタンスを、このメソッドを含むクラスに渡す必要があります。

protected int chooseOpenFile() {
    JFileChooser fileChooser = new JFileChooser(model.getSavedInputFile());

    int status = fileChooser.showOpenDialog(frame.getFrame());

    if (status == JFileChooser.APPROVE_OPTION) {
        File selectedFile = fileChooser.getSelectedFile();
        model.setSavedInputFile(selectedFile);
    }

    return status;
}
于 2013-03-13T14:41:44.227 に答える