Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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 MVC-这是正确的吗?_Java_Model View Controller - Fatal编程技术网

Java MVC-这是正确的吗?

Java MVC-这是正确的吗?,java,model-view-controller,Java,Model View Controller,我第一次尝试使用MVC模式。 我不确定我是否用正确的方法: 主要类别: public class DBEditorMain { public static void main(String[] args) { DBEditorController control = new DBEditorController(new DBEditorView()); } } DBEditorController构造函数: public DBEditorController(DBEdit

我第一次尝试使用MVC模式。 我不确定我是否用正确的方法:

主要类别:

public class DBEditorMain 
{
  public static void main(String[] args)
  {
    DBEditorController control = new DBEditorController(new DBEditorView());
  }
}
DBEditorController构造函数:

public DBEditorController(DBEditorView view)
  {
    this.view = view;
    addListeners ();
    view.setVisible (true);
  }
public DBEditorView()
  {
    super ("Database");
    setSize (800, 600);
    setResizable (false);
    initGUI ();
  }
DBEditorController添加侦听器:

private void addListeners()
  {
    view.addWindowListener (new WindowAdapter ()
    {

      @Override
      public void windowClosing(WindowEvent e)
      {
        terminate ();
      }
    });
    view.addActionListeners (this);
  }
  public void addActionListeners(ActionListener l)
  {
    closeButton.setActionCommand ("close");
    saveButton.setActionCommand ("save");
    closeButton.addActionListener (l);
    saveButton.addActionListener (l);

  }
DBEditorView构造函数:

public DBEditorController(DBEditorView view)
  {
    this.view = view;
    addListeners ();
    view.setVisible (true);
  }
public DBEditorView()
  {
    super ("Database");
    setSize (800, 600);
    setResizable (false);
    initGUI ();
  }
DBEditorView addActionListeners:

private void addListeners()
  {
    view.addWindowListener (new WindowAdapter ()
    {

      @Override
      public void windowClosing(WindowEvent e)
      {
        terminate ();
      }
    });
    view.addActionListeners (this);
  }
  public void addActionListeners(ActionListener l)
  {
    closeButton.setActionCommand ("close");
    saveButton.setActionCommand ("save");
    closeButton.addActionListener (l);
    saveButton.addActionListener (l);

  }
DBEditorController操作已执行:

@Override
  public void actionPerformed(ActionEvent e)
  {
    switch (e.getActionCommand ())
    {
      case ("save"):
        save();
        break;
      case ("close"):
        terminate();
        break;
    }
  }
我认为我做得很对,因为视图和模型还没有实现,没有对控制器或彼此的引用。 这是一个好的开始还是我错过了什么


我知道这是一个愚蠢的问题。.

这不是一个坏方法,但如果您更改web环境的视图,例如,此控制器不能使用,因为它依赖于Swing framework。因为我不想要web应用程序,我想这没关系。嗯,这种模式的目标是尽可能多地实现独立的层和交换层的能力。但是如果你确定你不会改变视图,是的,没关系。