G
Gurvan
Gast
Hallo,
habe bereits viel über das MVC-Pattern gelesen, jedoch ist mir einiges noch nicht ganz klar geworden.
Eine Frage bezüglich der Beziehung zwischen View und Controller, bsp.:
Nichts besonderes - eine MenuBar mit einem Menü. Sofern auf den Menüeintrag geklickt wird, wird die Methode [c]menuClicked()[/c] aufgerufen. Der Controller entscheidet dann was zu tun ist (zb: model benachrichtigen, dieser benachrichtigt die view über neuen inhalt eines textfeld).
Wie sieht das ganze nun aus wenn durch klicken des Menüeintrag ein Dialog mit zwei Textfeldern geöffnet wird indem Eingaben getätigt werden (bsp Telefonbuchverwaltung: Eingabe eines Namen -> Ausgabe der Telefonnummer)? Ist der Dialog dann eine eigene View und besitzt somit auch seinen eigenen Controller oder wie sollte dies Behandelt werden?
Über eine kleine Hilfe wäre ich dankbar.
Gruß
habe bereits viel über das MVC-Pattern gelesen, jedoch ist mir einiges noch nicht ganz klar geworden.
Eine Frage bezüglich der Beziehung zwischen View und Controller, bsp.:
Java:
public class View extends JFrame implements ActionListener {
private Controller controller;
private Model model;
private JMenuBar menuBar;
private JMenu menu;
private JMenuItem menuItem;
public View(Controller controller, Model model) {
super("MVC-Example");
this.controller = controller;
this.model = model;
this.initView();
this.pack();
this.setVisible(true);
}
private void initView() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.menuBar = new JMenuBar();
this.menu = new JMenu("menu");
this.menuItem = new JMenuItem("fillField");
this.menuItem.addActionListener(this);
this.setJMenuBar(menuBar);
this.menuBar.add(menu);
this.menu.add(menuItem);
}
@Override
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == menuItem) {
controller.menuClicked();
}
}
}
Wie sieht das ganze nun aus wenn durch klicken des Menüeintrag ein Dialog mit zwei Textfeldern geöffnet wird indem Eingaben getätigt werden (bsp Telefonbuchverwaltung: Eingabe eines Namen -> Ausgabe der Telefonnummer)? Ist der Dialog dann eine eigene View und besitzt somit auch seinen eigenen Controller oder wie sollte dies Behandelt werden?
Über eine kleine Hilfe wäre ich dankbar.
Gruß