将值从一个jInternalFrame传递到另一个jInternalFrame

时间:2014-01-26 06:28:48

标签: java swing netbeans jinternalframe

任何人都可以帮助如何将值从一个jInternalFrame1传递给另一个jInternalFrame2吗?我无法在jInternalFrame2中创建jInternalFrame1的对象。我已经看到了一个解决方案,通过制作构造函数并提取Jframe.But如何?

1 个答案:

答案 0 :(得分:1)

  

"您能为此数据模型提供代码吗?"

第二个内部框架接受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);
}