在我的Java桌面项目中,使用[RxJavaSwing] https://github.com/akarnokd/RxJavaSwing,
[[RxJava3] https://github.com/ReactiveX/RxJava,遵循Petikoch示例https://github.com/Petikoch/Java_MVVM_with_Swing_and_RxJava_Examples给出的MVVM体系结构,能够轻松实现基于套接字编程的应用程序。
现在,我想在横向和纵向模式下实现此功能。有没有一种方法可以实现这一点,如下图所示。如果是这样,
1)如何将2个不同的视图实例传递给ViewModel(方向改变时动态地传递。)>
2)另外,我还将视图对象传递给UsecaseImpl以进行面板替换。我现在还需要在这里通过两种不同的观点。
提前感谢。
代码:
View view = new View(); UsecaseImpl useCaseImpl = new UseCaseImpl(view, defaultValues); ViewModel viewModel = new ViewModel(); Model model = new Model(useCaseImpl); viewModel.connectTo(model); view.bind(viewModel); <br>
还有如何基于UsecaseImpl中的事件在MVVM中实现以下代码(当前在所有视图中都是Util通用的)
public static void switchChildPanel(JPanel jPanelParent, JPanel jPanelChild) {
if(jPanelChild.isShowing()) {
return;
}
jPanelParent.removeAll();
jPanelParent.add(jPanelChild);
jPanelParent.repaint();
jPanelParent.invalidate();
jPanelChild.setVisible(true);
}
在我的Java桌面项目中,使用[RxJavaSwing] https://github.com/akarnokd/RxJavaSwing、[RxJava3] https://github.com/ReactiveX/RxJava,遵循Petikoch示例提供的MVVM体系结构https:// ...
我能够通过创建并传递2个视图并将其与ViewModel绑定来解决此问题。只有视图是不同的实例,其余的都是相同的。