[RxJavaSwing + MVVM带有纵向横向视图

问题描述 投票:0回答:1

在我的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以进行面板替换。我现在还需要在这里通过两种不同的观点。

提前感谢。

enter image description here

代码:

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:// ...

java swing mvvm rx-java
1个回答
0
投票

我能够通过创建并传递2个视图并将其与ViewModel绑定来解决此问题。只有视图是不同的实例,其余的都是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.