我的问题是我想从jframe类变量到java中的抽象类
为例:
public class MainWindow extends Frame {
String Variable 1;
.....
}
public abstract class AbstractController {
// I need to use variable 1 in this class...
}
谢天谢地......
答案 0 :(得分:1)
我想要的问题是从jframe类变量到java中的抽象类
我会建议不,你真的不想这样做,你不想直接访问和修改另一个类中的变量。您似乎正在创建类似于模型 - 视图 - 控制器或视图 - 控制器的东西,因此您可能希望根据需要传递引用,封装所有变量,并通过受控公共方法访问变量或“状态”。所以像这样:
public class View {
private String someStateField;
//.....
public String getSomeStateField() {
return someStateField;
}
public void setSomeStateField(String someStateField) {
this.someStateField = someStateField;
}
}
和控制器
public abstract class AbstractController {
private View view;
public AbstractController(View view) {
this.view = view;
}
public view getView() {
return view;
}
public void someMethod() {
// can now call view methods here
}
}
当然,控制器的具体版本需要具有类似结构的构造函数并调用super的构造函数:
public class ConcreteController {
public ConcreteController(View view) {
super(view);
}
// ....
}
并且主要方法需要将它们连接在一起:
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
View view = new View();
AbstractController controller = new ConcreteController(view);
// .....
});
}
您的解决方案的细节当然取决于您的程序结构和设置的其余部分,如果您需要更详细的答案,请更新您的问题更详细和代码,并回复给我。