2012-01-06 48 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

我不是肯定的靜態方法,因爲我認爲這是我無法通過變量通過?測試了一下你給我的代碼,並且我得到了很多相同的錯誤信息,我會嘗試讓你的評論感謝你的評論。 – 2012-01-06 13:54:22

+0

Ahhhh ...忘了。在if語句的末尾(假設用戶說不),加入} else {return「」; } – Ocracoke 2012-01-06 13:55:34

+0

當我的方法靜態BlueJ說我無法做到這一點,因爲它是一個非靜態方法使用非靜態變量:( – 2012-01-06 13:56:33