2014-01-26 50 views
0

任何人都可以幫助如何將值從一個jInternalFrame1傳遞給另一個jInternalFrame2?我無法使jInternalFrame2中的jInternalFrame1的對象通過構造函數和對象Jframe來看到一個解決方案。但是如何?從一個jInternalFrame傳遞值到另一個jInternalFrame

+0

1)你可以通過它通過構造函數,或2)具有getter和setter方法,或3)使用在兩個之間共享的數據模型。 –

+0

你能提供這個數據模型的代碼嗎? – spc

回答

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); 
} 
相關問題