2011-04-29 120 views
0

我是一個Web應用程序員(主要是PHP/JavaScript/Ajax等)。 我想在java中編寫這個工資覈算應用程序。我需要知道在哪裏可以找到關於如何在java中進行基本驗證的教程,例如檢查如果一個文本框爲空,確保只有整數允許等簡單的Java驗證

我有一個運行這個基本程序,並創建了一個JFrame窗體:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 

     double num1, num2, result; 

     num1 = Double.parseDouble(jTextField1.getText()); 

     num2 = Double.parseDouble(jTextField2.getText()); 

     result = num1 + num2; 

     jLabel4.setText(String.valueOf(result)); 
    } 

我如何能夠例如得到驗證JTextField的1和2不留空白。即返回一個錯誤框,讓用戶知道這兩個字段不能留空?

我是想這是一個測試:

if(num1 == 0 && num2 == 0) 
     { 
      JOptionPane.showMessageDialog(null, "You must fill in all fields"); 
     } 

但是,這並不在所有的工作

+1

隨着你,你會得到一個NumberFormatException異常,如果是文本是空白的代碼Java應用程序。問題不僅僅是驗證,而是向用戶提供有用的信息。我會這樣做的方式是在字段旁邊顯示一個標籤,該標籤顯示紅色錯誤以指示數據出了什麼問題。 (或沒什麼好的) – 2011-04-29 09:54:49

回答

2

如果它屬於擺動,然後檢查

jTextField1.getText().trim().length > 0 && jTextField2.getText().trim().length > 0 

!jTextField1.getText().equals("") && !jTextField2.getText().equals("") 

另外閱讀一些教程o n swing components

+0

感謝您的回覆。我無法得到這個工作。 – 2011-04-29 12:32:33

+0

只做了一些更改。作品 – 2011-04-29 12:56:35

0

對於自己像一個初學者,使用標準庫像Apache Commons/Lang將可能是最簡單的:

檢查,如果值是數字:

// removes whitespace, converts to null if only whitespace, 
// checks whether the remeining string is numeric only 
StringUtils.isNumeric(StringUtils.stripToNull(jTextField1.getText())); 

獲得的數值:

int value = Integer.parseInt(jTextField.getText().trim());