1

如何/在 Java 的 MVC 架构中处理 JFileChooser 的最佳方法是什么?我的控制器正在侦听主 GUI 中的事件,它适用于其上的按钮,即控制器调用模型上的适当方法,并且它(控制器)更新视图。问题是现在我想添加一个 JFileChooser 并且我想通过控制器使用所选文件的完整路径更新模型。
我正在使用此答案中的代码How to manage view updates from controllers in a Java Swing app by @Hovercraft Full Of Eels 作为我项目的基础。
我怎样才能做到这一点?

4

1 回答 1

4

这是一个简单的版本。此方法来自我ActionListener的一个由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 回答