有人能帮忙将值从一个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);
}

10-07 16:19