2016-08-01 7 views
0

Я хочу написать приложение в Java SWING с использованием архитектуры MVC, но у меня проблема с использованием нескольких контроллеров, потому что я не знаю, как это сделать.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); 
}} 

Я не ставлю здесь, потому что модель теперь пуста.

Хорошо, поэтому я не знаю, как использовать несколько контроллеров. Например: я хочу создать новый контроллер UserController, и я не знаю, как это реализовать. Должен ли я создать новый контроллер в MainController? Если я создаю UserController в MainController, как его использовать?

+1

[* Правильно реализации шаблона MVC в разработке графического интерфейса с помощью Свинг в Java *] (HTTP: //stackoverflow.com/q/25502552/230513) предполагает, что «не каждое взаимодействие должно проходить через контроллер вашего приложения». – trashgod

ответ

0

Просто создайте UserController в своем классе приложений, где вы добавили свой MainController.

Пример: если у вас есть две кнопки, вы можете добавить actionlistener.

Button1 будет делать UserController.doSomething();

Button2 будет делать MainController.doSomeOtherThings();

То, как вы используете его;)

Смежные вопросы