【发布时间】:2021-12-12 03:31:51
【问题描述】:
我创建了一个带有 jTable 的 GUI 来向用户显示数据,用户可以使用他想要的任何过滤器进行搜索,但是,我需要用 jTextField 来识别是空的还是填充的。 那么,如何检查一个 jTextField 是否为空并让 else if 有效?
例如,用户插入一个名称 (jTextFieldNOME) 并单击 jButton 而没有在另一个 jTextField 中写入(还有另外 3 或 4 个 jTextField 遵循类似的模式)。
现在发生的只是运行第一个 else if:else if(jTextFieldNOME.getText() != null)
if(jTextFieldNOME.getText().equals("") && jTextFieldCPF.getText().equals("") && jTextFieldAPELIDO.getText().equals("") && jTextFieldIDADEMIN.getText().equals("") && jTextFieldIDADEMAX.getText().equals("")){
JOptionPane.showMessageDialog(null, "Vazios\n");
PreparedStatement stm=cn.prepareStatement("select * from cad_pessoa ");
ResultSet rs = stm.executeQuery();
DefaultTableModel tm=(DefaultTableModel) jTableDADOS.getModel();
tm.setRowCount(0);
while(rs.next()){
Object o []= {rs.getString("cad_cpf"), rs.getString("cad_nome"), rs.getString("cad_apelido"), rs.getString("cad_idade"), rs.getDate("cad_data")};
tm.addRow(o);
}
}
else if(jTextFieldNOME.getText() != null) {
PreparedStatement ps=cn.prepareStatement("select cad_nome,cad_apelido,cad_cpf,cad_idade,cad_data from cad_pessoa where cad_nome like ? order by cad_nome asc, cad_cpf asc nulls last ");
ps.setString(1,"%" + jTextFieldNOME.getText() + "%");
ResultSet rs = ps.executeQuery();
ps.execute();
DefaultTableModel tm=(DefaultTableModel) jTableDADOS.getModel();
tm.setRowCount(0);
JOptionPane.showMessageDialog(null, "nomes\n");
while(rs.next()){
Object o []= {rs.getString("cad_cpf"), rs.getString("cad_nome"), rs.getString("cad_apelido"), rs.getString("cad_idade"), rs.getDate("cad_data")};
tm.addRow(o);
}
}
else if (jTextFieldAPELIDO.getText() != null){
PreparedStatement ps=cn.prepareStatement("select cad_nome,cad_apelido,cad_cpf,cad_idade,cad_data from cad_pessoa where cad_apelido like ? order by cad_nome asc, cad_cpf asc nulls last ");
ps.setString(1,"%" + jTextFieldAPELIDO.getText() + "%");
ResultSet rs = ps.executeQuery();
ps.execute();
DefaultTableModel tm=(DefaultTableModel) jTableDADOS.getModel();
tm.setRowCount(0);
JOptionPane.showMessageDialog(null, "apelidos\n");
while(rs.next()){
Object o []= {rs.getString("cad_cpf"), rs.getString("cad_nome"), rs.getString("cad_apelido"), rs.getString("cad_idade"), rs.getDate("cad_data")};
tm.addRow(o);
}
}
【问题讨论】:
标签: java sql swing jtable jtextfield