有人能帮忙将值从一个jInternalFrame1传递给另一个jInternalFrame2吗?我无法在jInternalFrame2中创建jInternalFrame1的对象,我已经看到了通过构造函数并取消Jframe的一种解决方案,但是如何?
最佳答案
“您可以为此数据模型提供代码吗?”
第二个内部框架接受DataModel
对象。在帧之间时,两者将保持相同的对象。
请注意,如果您需要更复杂的内容(例如框架之间的来回交互),则应查看有关Model View Controller architecture的一些教程,在该教程中,您将需要使用PropertyChaneListeners
等。
public class DataModel {
private String data;
public DataModel() {
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
public class MyInternalFrame1 extends JInternalFrame {
private DataModel dataModel = new DataModel();
public DataModel getDataModel() {
return dataModel;
}
}
public class MyInternalFrame2 extends JInternalFrame {
private DataModel dataModel;
public MyInternaFrame1() {}
public MyIntenalFrame2(DataModel datModel) {
this.dataModel = dataModel;
}
public void setDataModel(DataModel dataModel) {
this.dataModel = dataModel;
}
}
在主GUI程序中,您可以执行以下操作
public class GUI extends JFrame {
MyInternalFrame1 iFrame1 = new MyInternalFrame1();
....
// somewhere else in code
DataModel dataModel = iFrame1.getDataModel();
dataModel.setData("Hello");
new MyInternalFrame2(dataModel);
}