Я не знаю, что ты собираешься делать.Но в соответствии с вашим вопросом вы хотите получить доступ к той же самой переменной представления из контроллера, поэтому вам нужно следовать этому.Для этого вам нужен интерфейс.
Объявите общий интерфейс
public interface CommonView {
void updateGui(String text);
}
Затем вам нужно реализовать этот интерфейс для обоих классов конкретного представления
public class View implements CommonView {
public View(ViewController viewController) {
}
@Override
public void updateGui(String text) {
System.out.println("Swing View");
}
}
И другого класса
public class ViewKonsoll implements CommonView {
public ViewKonsoll(ViewController viewController) {
}
@Override
public void updateGui(String text) {
System.out.println("KonsolView");
}
}
Затем в Controller вы можете определить вот так
public class ViewController {
Model m;
CommonView v;
ViewController(){
m = new Model();
}
public void SetViewSwing(){
v = new View(this);
}
public void SetViewKonsoll(){
v = new ViewKonsoll(this);
}
}
Затем вы можете установить вид с вашего контроллера или из любого места и позвонить v.updateGui(String text)
.