1

我是一个java初学者,我使用netbeans编写了这个应用程序。它的目的是从文本框中获取输入的值,并在我按下按钮时将其显示在消息框中。当我在文本框中给出值时,它工作正常。当我按下按钮而不给出值时,它应该什么都不显示,但它显示一个空的消息框。所以请帮我解决这个问题。

private void ChecktheloopActionPerformed(java.awt.event.ActionEvent evt) {                                             
       String recno= numsearch1.getText();   
       String srname=searchname.getText();
       if(recno!=null){
       JOptionPane.showMessageDialog(null,recno);
   }
}         
4

3 回答 3

1

试试看

private void ChecktheloopActionPerformed(java.awt.event.ActionEvent evt) {                                             
           String recno= numsearch1.getText();   
           String srname=searchname.getText();
           if(recno!=null && recno.trim().length()>0){
           JOptionPane.showMessageDialog(null,recno);
       }
    }
于 2013-09-06T10:27:16.030 回答
0

""在显示对话框之前,您还必须检查字符串是否等于。

private void ChecktheloopActionPerformed(java.awt.event.ActionEvent evt) {                                             
    String recno= numsearch1.getText();   
    String srname=searchname.getText();
    if(!recno.equals("")){
        JOptionPane.showMessageDialog(null,recno);
    }
}

numsearch1.getText();可能返回一个空字符串,而不是null您期望的。

于 2013-09-06T10:22:57.587 回答
0

isEmpty()您必须使用String 类的方法检查文本是否为空字符串:

private void ChecktheloopActionPerformed(java.awt.event.ActionEvent evt) {                                             
           String recno= numsearch1.getText();   
           String srname=searchname.getText();
           if(!recno.isEmpty()){
                JOptionPane.showMessageDialog(null,recno);
           }
      }
于 2013-09-06T11:07:00.970 回答