2013-06-06 2 views
1

해결책을 찾기 위해 너무 찾고 있습니다. 현재 netbeans 프로젝트에는 2 JFrames 및 1 개의 유틸리티 클래스가 있습니다. 나는 자바에 대한 전문가가 아니므로 나와 함께 견뎌주십시오. 나는 자바 문서를 통해이 사이트에보고 시도했지만 내 문제에 대한 해결책을 찾을 수 없습니다.다른 JFrame에서 JFrame 메서드 호출

내 런처 클래스는 JFrame라는 MainForm.java 양식이 다음 화면에 구성 요소를 초기화 실행 : 여기

는 시나리오입니다. 이 양식에는 ConfigEditor.java이라는 새로운 양식을 시작하는 버튼이 있습니다. 이 양식은 구성 파일을 편집하는 데 사용됩니다. 나는 이 양식에 버튼을 저장하고 기본적으로 원하는 것은 저장을 클릭하면 저장됩니다. MainForm.java 올바른 값을 가진 구성 요소를 채우기위한 메소드를 호출하려면 값을 호출하십시오. 를 heres을 Heres

예는 ConfigEditor.java 내 저장 버튼에서 일부 코드 :

if(reply == JOptionPane.YES_OPTION){ 
     try { 
      Utilities.writeConfigFileBasic(ExecutionLists.getText(),DefaultResultsFile.getText(), 
        DefaultTestDir.getText(), Environments.getText(), ResultsViewerFile.getText()); 
      ConfigTextArea.append(Utilities.readConfigFile()); 
      JOptionPane.showMessageDialog(rootPane, "Saved"); 

이제 그냥 MainForm.initMyComponents()처럼 뭔가를해야만 통화 할 마지막 줄 이후; 이 방법은 MainFormJFrame에 존재하지만, 이것을 부르지 않을 것입니다. 이 방법의 목적은 구성 파일에서 추출한 데이터로 일부 필드를 채우는 것입니다. 매우 잘 설명하지 못해 죄송합니다. 명확한 설명이 필요하면 Java에 대해 상당히 익숙합니다. 알려 주시면 명확히하기 위해 최선을 다할 것입니다.

+0

여러 인스턴스 대신 CardLayout을 사용하면 뉴비에 대한 지옥이 될 수 있습니다 – mKorbel

+0

[여러 JFrames 사용, 좋음/불량 사례?] (http://stackoverflow.com/a/9554657/418556) –

+0

있음 내 의견은 모두 주관적이다. 내 응용 프로그램에 대한 2 프레임을 사용하여 더 바람직하다고 믿습니다. – Festivejelly

답변

2

MainForm에 대한 참조를 구성 할 때 ConfigEditor에 간단하게 전달할 수 있습니까? 예 :

... //Code fired by clicking the button you mentioned which is in class MainFrame 
ConfigEditor configEditor = new ConfigEditor(this); //This would be a reference to your MainFrame 

이 참조를 통해 MainFrame 클래스에서 원하는 메서드를 호출 할 수 있습니다.

+0

내가 집에 가면 바로 그 발사를 줄 것이다. 어떻게 작동하는지 모르겠다. MainForm 코드로 들어가겠습니까? – Festivejelly

+0

맞습니다. 'ConfigEditor'에 대한 생성자는 다음과 같이 보일 것입니다 : 'ConfigEditor (MainFrame mainFrame)'그런 다음 'mainFrame.initMyComponents()'를 호출 할 수 있습니다 –

+0

환상적인 Michael이 제안에 대해 대단히 감사합니다. 지금. 미안 해요 당신의 대답을 upvote 난 그만큼 충분한 담당자가 없어. – Festivejelly

관련 문제