Primeira opção do combobox nulo

2 respostas
databasenetbeansjavamysql
M

Boa noite pessoal, tenho um método que popula meu ComboBox com dados direto do banco, porém, na hora que eu realizo meu cadastro ele vai sempre preenchido com o primeiro valor do banco. Eu gostaria que se, eu não selecionasse o combobox eu enviasse um valor nulo/branco para o banco de dados. Podem me ajudar ?
este é o código que popula o combobox

public void PreencherComboBoxMaterial1() {

try {
        Connection con = ConnectionFactory.getConnection();
        PreparedStatement stmt;
        ResultSet rs = null;
        stmt = con.prepareStatement("select * from materiais order by id");
        rs = stmt.executeQuery();

        JListaMaterial1.removeAllItems();
        while (rs.next()) {

            JListaMaterial1.addItem(rs.getString("material"));
        }
        ConnectionFactory.closeConnetion((com.mysql.jdbc.Connection) con, stmt, rs);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "" + e);
    }

}

2 Respostas

rodriguesabner

pra adicionar os dados:

while (rs.next()) {
   JListaMaterial1.addItem(rs.getString("material"));
   JListaMaterial1.setSelectedItem(null);
 }

condição na hora de salvar:

if (JListaMaterial1.getSelectedItem() == null) {
    JOptionPane.showMessageDialog(null, "Por favor, selecione algum item");
} else {
    //deixa salvar
}
Jonathan_Medeiros

Uma opção é marcar o index com valor negativo!

JListaMaterial1.setSelectedIndex(-1);

Criado 2 de junho de 2020
Ultima resposta 2 de jun. de 2020
Respostas 2
Participantes 3