我在C#ASP.net和PHP CodeIgniter + Laravel的Web应用程序中广泛使用了MVC模式,但现在我必须为Java Swing应用程序实现它,并且当它实际上是从事件动态添加元素(如JPanel)到视图。在任何Web MVC框架中,我只会返回一个局部视图并将其注入到div中。更多解释:Java Swing MVC动态组件
我有一个视图只有一件事:MainController侦听的按钮。当我点击按钮时,视图告诉控制器调用方法“buttonClicked()”。这样做的结果应该是创建一个JPanel并将其添加到视图中,但是如何在Java Swing MVC中执行此操作?就像我说的,在一个Web MVC框架中,我可能会做类似“返回新的partialView(模型)”的东西。
因为唯一应该依赖于Swing框架的类是Views,所以我知道JPanel是在那里创建的,但不是控制器(或模型)应该告诉视图放置它的位置?这是如何运作的?
谢谢。我希望通过思考足够清楚,我只是从Java开始。
感谢您的快速回复,但我想我没有清楚地传达我想要的东西。所以,我在视图中已经有了一个BoxLayout,但是我想知道的是:在将新JPanel添加到窗口的过程中,控制器的角色是什么?当视图创建JPanel并使用模型填充字段时,它是否简单地传递JPanel数据(名称,文本等)? 而当我在实际的“buttonClicked()”方法中,如何对视图“添加新的JPanel”说?我在模型中调用某种“更新()”方法吗? 谢谢 – user3363635