模型 - 视图 - 控制和摇摆gui

时间:2014-02-10 11:02:54

标签: java swing user-interface model-view-controller

我怀疑。我不知道在模式MVC中将每个eventlistener插入的位置。将它们插入控制器是否正确,或者更好地直接在视图中插入eventlistener?从视图中,eventlistener可以调用控制器来执行某些操作。

1 个答案:

答案 0 :(得分:1)

您的事件侦听器应位于控制器中。控制器拥有视图的实例,您的视图具有公共方法来设置GUI控件的事件侦听器(JTextField等)。

示例:您有一个名为JButton的{​​{1}}控件的视图,并且您希望在有人与该按钮进行交互时进行监听。

查看

buttonSubmit

<强>控制器

public void addSubmitButtonListener(ActionListener listener) {
    buttonSubmit.addActionListener(listener);
}

public void run() { view.addSubmitButtonListener( new SubmitButtonListener() ); } class SubmitButtonListener implements ActionListener { @Override public void actionPerformed(ActionEvent evt) { // What happens after someone interacts with the button goes in here. } } 类作为内部类直接进入控制器。