2014-01-26 3 views
0

누군가가 하나의 jInternalFrame1에서 다른 jInternalFrame2로 값을 전달하는 방법을 도울 수 있습니까? jInternalFrame2.jInternalFrame2에서 jInternalFrame1의 객체를 만들 수 없습니다. 생성자를 만들고 객체를 생성하여 하나의 솔루션을 보았습니다. 그러나 어떻게?하나의 jInternalFrame에서 다른 jInternalFrame으로 값을 전달

+0

1처럼 뭔가를 할 수 있습니다. –

+0

이 데이터 모델에 대한 코드를 제공 할 수 있습니까? – spc

답변

1

"이 데이터 모델에 대한 코드를 제공 할 수 있습니까?"

두 번째 내부 프레임은 DataModel 개체를 허용합니다. 두 프레임은 프레임 사이에 동일한 객체로 유지됩니다. 당신이 (프레임 사이처럼 앞뒤로 상호 작용) 더 복잡한 무언가를 필요로하는 경우

주, 당신은 메인에서 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; 
    } 
} 

를 사용해야합니다 Model View Controller architecture에 몇 가지 튜토리얼을 조사한다 GUI 프로그램은, 당신은 당신은 생성자를 통해 합격하거나, 2) 세터와 게터가, 또는 3) 둘 사이에 공유되는 데이터 모델을 사용할 수 있습니다)이

public class GUI extends JFrame { 
    MyInternalFrame1 iFrame1 = new MyInternalFrame1(); 

    .... 
    // somewhere else in code 
    DataModel dataModel = iFrame1.getDataModel(); 
    dataModel.setData("Hello"); 
    new MyInternalFrame2(dataModel); 
}