2013-05-04 2 views
-1

2 개의 다른 jframes (객체를 레코드로 저장)에 2 개의 어레이가 있고 2 개의 어레이에 대해 별도의 속성도 있습니다. 내가하려는 것은 사용자가 첫 번째 양식의 세부 정보를 입력하고 사용자가 인플루엔자를 선택하면 라디오 버튼 선택에서 두 번째 양식을 열어 사용자가 해당 양식의 입원 치료 세부 정보를 입력하도록하는 것입니다. 사용자가 입원 진료 형태로 등록을 클릭하면 사용자가 첫 번째 양식에 입력 한 성 세부 정보 인 두 번째 양식을 두 번째 양식으로 가져와 입원 치료 배열 (두 번째 배열)에 넣습니다.다른 클래스 변수 값을 다른 클래스에 지정합니다. 변수

get/set 메서드를 사용하여 firstname에 저장된 값을 가져 오려고 시도했지만 "스레드의 예외"AWT-EventQueue-0 "java.lang.NullPointerException"오류가 발생합니다. 여기

내가 무엇을했는지 있습니다 : -
 private String firstname; 

    public String getfirstname() { 
      return firstname; 
    } 

가 // 내가 FIRSTNAME 변수의 텍스트 필드를 통해 입력을 가지고있다하지만 난 여기에 보여 havent 한.

두 번째 형식에서 나는 get 메서드를 사용하고 다른 변수에 할당을 시도했습니다.

String firstname = patient.getfirstname(); 

두 번째 형식에서는 firstname 변수에 저장된 값을 가져 오기 위해 get 메서드를 사용했지만 프로그램이 중단되었습니다.

첫 번째 양식 단추 레지스터 안에는 데이터 필드를 통해 사용자 입력을 얻으려는 작업이 있습니다.

private void btnregisterpatientActionPerformed(ActionEvent evt) { 
    firstname=txtfirstname.getText(); 

사용자가 입원 치료를 선택하고 제 형태로 등록 버튼을 클릭하면 라디오 버튼 선택 부에서

는, 제 2 형태 (입원 치료 양식)를 연다.

환자 변수는 새로운 클래스의 개체입니다. register_newpatient 클래스의 메소드를 사용하도록 만들었습니다.

여기서 환자 변수를 초기화합니다. 당신이 java.lang.NullPointerException이를지고 그래서 여기

JFrame frame=new JFrame(); 

    Register_newpatient patient=new Register_newpatient(); 

    static ArrayList<patient_class>inpatientpatientlist=new ArrayList<patient_class>(); //created a seperate array for inpatient care. 

    public ArrayList<patient_class> getinpatientsarray() //used a method to return the array 
    { 
     return inpatientpatientlist; 
    } 
+2

'환자'가 '무효'라고 생각합니다. – jlordo

+0

@jlordo 예, 혼동을 피하기 위해 내 의견을 삭제합니다. –

+1

다시 말하지만 *** 환자 변수를 어디에서 초기화합니까 *** ?? –

답변

0

환자가 성 (null)이 아니고 성 (null)입니다. firstname가 null의 경우, 메소드는 에러를 슬로우하지 않고 null를 돌려 줄뿐입니다. 그러나 환자가 null 인 경우 null 객체의 메서드 (getfirstname())에 액세스하려고하므로 null 포인터 예외가 발생합니다.

+0

thx 많이 있습니다. 메소드를 얻는 대신 set 메소드를 사용하여 작동 시켰습니다. –

0
 String firstname=patient.getfirstname(); 

환자는 null입니다. 올바르게 설정했는지 확인하십시오.

코드를 게시하여 도와 드리겠습니다.

+0

첫 번째 폼 단추 레지스터 안에는 데이터 필드를 통해 사용자 입력을 얻기위한이 작업이 있습니다. 개인 무효 btnregisterpatientActionPerformed (행동 이벤트 이벤트 evt) { firstname = txtfirstname.getText(); 라디오 버튼 선택 섹션에서 사용자가 입원 관리를 선택하고 첫 번째 양식에서 등록 버튼을 클릭하면 두 번째 양식 (입원 치료 양식)이 열립니다. –

+2

@ Shehan.W : 원래 게시물을 주석이 아닌 코드로 업데이트하십시오. 환자 변수를 초기화 할 수 있다고 생각하는 위치를 표시하십시오. –

+0

'private void btnregisterpatientActionPerformed (액션 이벤트 evt) {firstname = txtfirstname.getText(); ' 당신은 다음과 같이 할 수 있습니다. 'FormSecond pageSecond = new FormSecond (firstname); pageSecond.setVisible (true); dispose(); ' – minion

관련 문제