2012-03-12 31 views
-1

我有一個帶有幾個文本框和一個保存按鈕的窗體。 按下按鈕時,應檢查某些文本字段是否爲空,如果這些字段爲空,則應顯示錯誤消息,否則應執行所需的任何工作。我已經編寫了代碼,但是這些字段是否爲空,它執行主要任務。有人可以提醒嗎?感謝Java驗證

final JButton button = new JButton("Save"); 
button.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 
     if(textField_2.equals("") || textField_3.equals("") || textField_4.equals("") || textField_5.equals("") || textField_6.equals("") || textArea.equals("") || textField_7.equals("")) { 
      JOptionPane.showMessageDialog(frmModifyBooking, "Please fill in all fields indicated with a star (*)."); 
     } 
     else { 
      try { 
       String sql = "UPDATE vacation SET `StaffID` =?, `From` =?, `To` =?, `TotalDays` =?, `VacationType` =?, `Notes` =?, `Signature` =?, `Date` =? WHERE VacationID = ?"; 
       PreparedStatement prest = con.prepareStatement(sql); 
       prest.setString(1, textField_1.getText()); 
       prest.setString(2, textField_2.getText()); 
       prest.setString(3, textField_3.getText()); 
       prest.setString(4, textField_4.getText()); 
       prest.setString(5, textField_5.getText()); 
       prest.setString(6, textArea.getText()); 
       prest.setString(7, textField_6.getText()); 
       prest.setString(8, textField_7.getText()); 
       prest.setString(9, txtAUniqueStudent.getText()); 
       prest.executeUpdate(); 
       JOptionPane.showMessageDialog(frmModifyBooking, "Record has been updated."); 
      } 
      catch (SQLException e) { 
       //System.out.println("Record couldn't be added!"); 
       e.printStackTrace(); 
       JOptionPane.showMessageDialog(frmModifyBooking, "Record couldn't be updated. Please try again."); 
      } 
     } 
    } 
}); 
button.setBounds(280, 402, 89, 23); 
panel_1.add(button); 
+0

「有人能提醒嗎?」 - 建議什麼? – paislee 2012-03-12 18:01:12

+0

什麼是textField_x變量?如果它們是TextField引用,則這些條件無效。 – Dan 2012-03-12 18:03:11

回答

1

您是不是要找:

textField_2.getText().equals("") etc. 

,你也可以這樣寫:

textField_2.getText().isEmpty() etc. 
1

隨着textField_2.equals("")你是比較對象不是JTextFields文本。

只需使用:

textField_2.getText().equals("")... 
+0

非常感謝Stefan。說得通。謝謝 – Pita 2012-03-12 18:09:48

1

我覺得這是因爲你比較的整個領域到空字符串。嘗試比較值。

if (textField_1.getText().equals('')) 
+0

謝謝DanRedux – Pita 2012-03-12 18:10:03