У программы есть представление и модель (с условным обозначением), в которой представление наблюдает за моделью. Модель имеет несколько состояний, а представление имеет несколько jpanels, которые отображаются на состояния (в некоторых состояниях имеется несколько соответствующих jpanels за штуку). При использовании карты-раскладки отображается только одна j-панель, а изменение или изменение состояния внутри этой области заменяет текущую j-панель на другую. Pr ogra m работает, но для представления и модели кажется плохой практикой предполагать, что существует ровно 5 состояний и 7 представлений. Как это может быть реализовано.
<code>
class Model implements Observable {
State A, B, C;
final int VIEW_A = 0, VIEW_B = 1, VIEW_C0 = 2, VIEW_C1 = 3;
int stateView;</p>
<p>//argument will be one of the final ints above
void setStateView(int stateView) {
this.stateView = stateView;
notifyObservers();
}</p>
<p>void getStateView() { return stateView; }
}</p>
<p>class View implements Observer {
void update(Observable o) {
//will use one of the ints above to identify the correct jPanel to display
setJPanel ( o.getStateView() );
}
}
Я понимаю, что приведенный выше код - ужасный способ сделать это. Вот почему я здесь. Помощь