В моем Java настольном проекте используется [RxJavaSwing] https://github.com/akarnokd/RxJavaSwing,
[RxJava3] https://github.com/ReactiveX/RxJava, в соответствии с архитектурой MVVM, предоставленной Петикочем примеры https://github.com/Petikoch/Java_MVVM_with_Swing_and_RxJava_Examples, способные легко реализовать приложение, основанное на программировании сокетов.
Теперь я хочу реализовать это для ландшафтного и портретного режимов. Есть ли способ реализовать это что-то вроде ниже изображения. Если это так,
1) Как передать 2 разных экземпляра вида в ViewModel (динамически при изменении ориентации).
2) Также я передаю объект вида в UsecaseImpl для замены панели. Вот и мне сейчас нужно пропустить 2 разных вида.
Заранее спасибо.
Код:
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>
Также, как реализовать приведенный ниже код в MVVM на основе события из UsecaseImpl (в настоящее время оно используется в 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);
}