Java 如果稳定器不工作 我的If语句不起作用

Java 如果稳定器不工作 我的If语句不起作用,java,swing,sqlite,if-statement,Java,Swing,Sqlite,If Statement,基本上,我在表单中设计了一个按钮,当我执行所有操作时,应该将用户数据保存到数据库中,并显示一个对话框“保存数据”。一切都很好,现在我想插入一个条件,所以若用户并没有输入一个值,它将显示一个对话框,用户需要重新输入。现在的问题是,在显示对话框之前,它会检查我的状况,但当我按“确定”时,它会保存一个空值并显示“已保存数据”对话框。下面是我的代码: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

基本上,我在表单中设计了一个按钮,当我执行所有操作时,应该将用户数据保存到数据库中,并显示一个对话框“保存数据”。一切都很好,现在我想插入一个条件,所以若用户并没有输入一个值,它将显示一个对话框,用户需要重新输入。现在的问题是,在显示对话框之前,它会检查我的状况,但当我按“确定”时,它会保存一个空值并显示“已保存数据”对话框。下面是我的代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    
    if (txt_pangkat.getText().equals("")||icon_image1 == null) {
        JOptionPane.showMessageDialog(null,"Please Insert a value");
        dispose();
    }
    try { 
       
        String sql="insert into KKKB1 (Pangkat,Sains)values (?,?)";
        pst=conn.prepareStatement(sql);
        pst.setString(1, txt_pangkat.getText());
        pst.setBytes(2, icon_image1);
   
        pst.execute();
   
        JOptionPane.showMessageDialog(null, "Data Saved");
        txt_pangkat.setText("");
 
        back();
   
  
       }
       catch(Exception e){
           JOptionPane.showMessageDialog(null, e);
       } finally {

           try {
            
               pst.close();
           }
           catch(Exception e){
           }
      }
}  

将其余代码放入如下else语句:

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


   if (txt_pangkat.getText().trim().equals("")||icon_image1 == null) {
       JOptionPane.showMessageDialog(null,"Please Insert a value");
       dispose();
   } else {
       try {
           String sql="insert into KKKB1 (Pangkat,Sains)values (?,?)";
           pst=conn.prepareStatement(sql);
           pst.setString(1, txt_pangkat.getText());
           pst.setBytes(2, icon_image1);

           pst.execute();

           JOptionPane.showMessageDialog(null, "Data Saved");
           txt_pangkat.setText("");

           back();
       }
       catch(Exception e) {
           JOptionPane.showMessageDialog(null, e);
       }
       finally {
           try {
               pst.close();

           }
           catch(Exception e){}
       }
   }
}
一种不常见(但优雅)的方法是使用(未充分使用)断言语句:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
    try{
        assert !txt_pangkat.getText().equals("");
        assert icon_image1 != null;
    }catch(Exception e){
        JOptionPane.showMessageDialog(null,"Please Insert a value");
        dispose();
    }
    //rest of code...
}

哦,太多了,我没看到