2012-01-06 4 views
1

프로그램에서 삭제 방법이 작동하지 않습니다.JOptionPane에서 문자열을 반환합니다.

기본적으로 배열을 텍스트 파일에 쓰는 데 사용되는 배열이 있습니다. 이 텍스트 파일을 다시 읽을 수 있습니다.

JOptionPane 예약을 취소하려면 RoomID을 입력하라는 메시지가 나타납니다.

일단 사용자가이 작업을 완료하면 roomID의 문자열과 관련 세부 정보를 모두 JOptionPane으로 돌려 보내야합니다 (텍스트 영역에 대한 return 문이 있고 내 프로그램이 발견되어 올바른 정보가 반환되었습니다).

내 GUI 클래스는 listBookings 클래스의 모든 메서드를 호출합니다.

public String deleteBooking(String roomID) 
{ 
    int index = 0; 
    for (Booking s : bookings) 
    { 
     if (s.getRoomID().equals(roomID)) 
     { 
      int r = JOptionPane.showOptionDialog,null("Are you sure you would like to delete the following \n" 
      + "deleteMessage", 
      "Delete a booking", 
      JOptionPane.YES_NO_OPTION, 
      JOptionPane.QUESTION_MESSAGE,null,null,null); 

      if (r == JOptionPane.YES_OPTION) { 
       bookings.remove(index); 
      } 
      if (r == JOptionPane.NO_OPTION){ 
       return "Booking Was Not Canceled"; 
      } 
     } 
     index++; 
    } 
    return " Cannot find room"; 

새 오류 메시지 <indentifier>

예상

답변

0

정적 메소드 (이 올바른 구문은 만약 내가 확신 할 수 없다)을 사용하십시오 :

int r = JOptionPane.showOptionDialog("Are you sure you would like to delete the following \n" 
     + "deleteMessage", 
     "Delete a booking", 
     JOptionPane.YES_NO_OPTION, 
     JOptionPane.QUESTION_MESSAGE); 

if (r == JOptionPane.YES_OPTION) { 
    // do delete action 
} 
+0

내가 정적 메서드 때문에 확실 않네을 나는 그것을 통해 변수를 전달할 수 없다고 생각 했는가? 당신이 준 코드의 비트를 테스트하고 내가 pritty 많은 오류 메시지를 당신의 코멘트에 대한 정적 고마워 만들기 시도 할 것입니다. –

+0

Ahhhh ... 잊어 버렸습니다. if 문 끝에서 (사용자가 no라고 가정하고) else {return ""; } – Ocracoke

+0

내 메서드를 정적으로 만들 때 BlueJ는 정적이 아닌 변수를 사용하여 비 정적 메서드로 수행 할 수 없다고 말합니다. ( –

관련 문제