2016-08-01 15 views
0

MVCアーキテクチャを使用してJava SWINGでアプリケーションを作成したいが、これを行う方法がわからないので複数のコントローラを使用することに問題がある。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); 
}} 

メインコントローラ:

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に新しいコントローラを作成する必要がありますか? MainControllerでUserControllerを作成する方法は?

+1

[*正しくJavaでSwingを使ったGUI開発にMVCパターンを実装*](HTTP: //stackoverflow.com/q/25502552/230513)は、「すべての対話がアプリケーションのコントローラを通過する必要はありません」と示唆しています。 – trashgod

答えて

0

MainControllerを追加したApplicationクラスにUserControllerを作成してください。

例:2つのボタンがある場合は、actionlistenerを追加できます。ボタン1はボタン2は、あなたがそれを使用する方法厥MainController.doSomeOtherThings();

を行いますUserController.doSomething();

を行います

;)