2016-08-01 18 views
0

Ich möchte eine Anwendung in Java SWING mit MVC-Architektur schreiben, aber ich habe Probleme mit der Verwendung mehrerer Controller, weil ich nicht weiß, wie dies zu tun ist.MVC Java Swing qestion

public class Application { 

public static void main(String[] args) { 
    Application app = new Application(); 
    app.Start(); 

} 
public void Start() 
{ 

    MainModel model = new MainModel(); 
    MainView view = new MainView(); 
    MainController controller = new MainController(view,model); 
    view.setVisible(true); 
}} 

MainController:

public class MainController { 

private MainView theView; 
private MainModel theModel; 

public MainController(MainView theView, MainModel theModel) 
{ 
    this.theModel = theModel; 
    this.theView = theView; 

}} 

Mainview:

public class MainView extends JFrame{ 
private JMenu menu = new JMenu(); 

public MainView() 
{ 
    JPanel panel = new JPanel(); 

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    this.setSize(800,800); 
    panel.add(menu); 

    this.add(panel); 
}} 

Ich habe hier nicht, weil das Modell jetzt leer ist.

Okay, ich weiß nicht, wie man mehrere Controller verwendet. Zum Beispiel: Ich möchte neue Controller UserController erstellen und ich weiß nicht, wie dies zu implementieren ist. Soll ich einen neuen Controller im MainController erstellen? Wenn ich UserController in MainController erstelle, wie man es benutzt?

+1

[* Korrekt das MVC-Muster in GUI-Entwicklung Implementierung mit Swing in Java *] (http: //stackoverflow.com/q/25502552/230513) schlägt vor, dass "nicht jede Interaktion den Controller Ihrer Anwendung durchlaufen muss". – trashgod

Antwort

0

Erstellen Sie einfach UserController in Ihrer Anwendungsklasse, wo Sie Ihren MainController hinzugefügt haben.

Beispiel: Wenn Sie 2 Schaltflächen haben, können Sie actionlistener hinzufügen.

Button1 tun UserController.doSomething();

Button2 MainController.doSomeOtherThings();

Das ist die Art und Weise tun, werden Sie es verwenden;)