2013-03-17 59 views
0

將會有一個ShowInputDialog框供用戶鍵入數字。當用戶鍵入字符時,它將顯示一個MessageDialog框來指示無效輸入。在ShowMessageDialog後返回到上一個ShowInputDialog

如何在用戶點擊MessageDialog對話框上的「OK」按鈕後重新輸入前一個showInputDialog以供用戶重新輸入數字?

的代碼:

public static void addStock(Stock s[],int index) 
{ 
    s[index] = new Stock(); 

    try{ 
     s[index].setNumber(Double.parseDouble(showInputDialog(null,"Enter number: "))); 

    }catch(NumberFormatException e){ 
     showMessageDialog(null, "Invalid input. Enter digits only.", "Error!",ERROR_MESSAGE); 
    } 
} 

*編輯:這是使用對話框作爲與用戶交互的界面庫存系統。例如,添加,刪除,更新系統中的庫存。

+0

顯示的東西,你已經對這個問題做了什麼? – Sach 2013-03-17 08:58:57

+0

對不起剛更新。 – mellissa 2013-03-17 09:00:20

+0

這是什麼,一個網絡應用程序。桌面應用。小程序..?爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2013-03-17 09:03:36

回答

1

試試這個:

boolean isValSet = false; 

while(!isValSet) 
{ 
    try { 
     String val=JOptionPane.showInputDialog(null,"Enter number: "); 
     double parseDouble = Double.parseDouble(val); 

     //set you parseDouble to your attribute. 
     isValSet=true; 
    } catch(NumberFormatException e) { 
     JOptionPane.showMessageDialog(null, "Invalid input. Enter digits only.", "Error!",JOptionPane.ERROR_MESSAGE); 
    } 
} 
+0

@Zefnus好吧,這是完美的。非常感謝 – mellissa 2013-03-17 09:18:01

+0

@mellissa我只是修改了代碼的縮進。答案屬於sachin pasalkar。無論如何,你的歡迎;) – 2013-03-17 09:21:06

+0

哦,你要感謝薩欽。這兩個你:) – mellissa 2013-03-17 09:26:51