2013-11-28 8 views
0

사용자 이름 또는 비밀번호 텍스트 상자가 비어 있지만 프로젝트를 실행할 때 "JOptionPane.showMessageDialog (null,"사용자 이름 또는 비밀번호가 잘못되었습니다. ")라는 텍스트 상자 만 표시되면 메시지 상자를 표시하려고합니다. ; " 제발 도와주세요 고마워요!비어있는 텍스트 상자 확인

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    String user=txtUsername.getText(); 
    char[] pass=txtPassword.getPassword(); 

    if(user == null){ 
    JOptionPane.showMessageDialog(null,"Username Field is empty"); 
    } 
    else if(pass==null){ 
    JOptionPane.showMessageDialog(null,"Password Field is empty");  
    } 
    else{ 
    String sql="select * from account where username=? and password=?"; 

    try{ 
      pst=conn.prepareStatement(sql); 
      pst.setString(1,txtUsername.getText()); 
      pst.setString(2,txtPassword.getText()); 

      rs=pst.executeQuery(); 


      if(rs.next()){ 

       GridlockMain a=new GridlockMain(); 
       a.setVisible(true); 

      } 

      else{ 

       JOptionPane.showMessageDialog(null,"Your Username or Password is incorrect"); 
       txtUsername.setText(null); 
       txtPassword.setText(null); 

      } 

     } 
    catch(SQLException e){ 
      JOptionPane.showMessageDialog(null,e); 

     } 

} }

답변

1

JTextField.getText() 당신이 빈을 유지하는 경우 null를 반환하지 않습니다. isEmpty 메서드를 사용하여 if 조건에서 값을 확인하십시오.

String user=txtUsername.getText();// It return empty String "" 
            // even no data is entered. 

    if(user.isEmpty){ 
    JOptionPane.showMessageDialog(null,"Username Field is empty"); 
    } 
    ...... 
0

이 시도 ..

if(!user.length() > 0){ 
    JOptionPane.showMessageDialog(null,"Username Field is empty"); 
    } 
else if(!pass.length > 0){ 
    JOptionPane.showMessageDialog(null,"Password Field is empty");  
} 
0

이 빈 문자열 ""나는 또한 텍스트 검증 과정을 고투

StringUtils.isEmpty(txtUsername.getText()) 
-1
if (user.length() == 0) { 
     JOptionPane.showMessageDialog(null, "Username Field is empty"); 
    } else if (pass.length() == 0) { 
     JOptionPane.showMessageDialog(null, "Password Field is empty"); 
    } 
+0

나는 0 문자 미만의 문자열에 대해 들어 본 적이 없다. 그리고이 문제를 해결한다면이 답변은 대시의 [answer] (http://stackoverflow.com/a/20263060/369450)와 동일하므로이 대답을 무의미하게 만듭니다. – cpburnz

0

비교를 반환합니다. 나는 이것을 테스트하는 아주 쉬운 방법을 발견했다. 여기에 JOptionPane을 사용하여 사용자에게 메시지를 표시하는 대신 입력을 허용하지 않거나 버튼을 누릅니다. 내 코드는 다음과 같습니다.

적어도이 정보가 귀하의 성공을 이끌어주기를 바랍니다.

관련 문제