Ainda tem falhas neste trecho de código feito em JFRAME, onde eu estou errando?

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

if (txtCod.getText().equals("") || txtTitulo.getText().equals("") || txtAutor.getText().equals("")
        || (jComboBox1.getSelectedItem() == null) && jTextArea1.getText().equals("") || !jRadioButton1.isSelected()
        || !jRadioButton2.isSelected() || !jRadioButton3.isSelected() || !jRadioButton4.isSelected()
        || !jRadioButton5.isSelected()) {
    JOptionPane.showMessageDialog(null, "Por favor, preencha todos os campos");
} else {
    System.out.println();
}

Seria mais interessante se você informace qual é a falha. Assim aumentar o interesse no tópico e tornar mais fácil ajudar!

Mas possivelmente o problema é que você colocou um operador && no lugar do ||. Testa aí!

1 curtida

O problema tá no Jcombox

Qual problema que tá acontecento? Já corrigiu a questão do operador?

1 curtida

Sim, é que tipo, no JCombox tem 10 opções. ele tem que falhar e não falha. Sou obrigado escolher uma Edição e não é isso que eu quero

Você está se referindo que no JComboBox sempre tem um item selecionado(geralmente o primeiro)? Mas eu acho que é esse o comportamento padrão de um JComboBox!

O que você quer dizer com “falhar”?

1 curtida

Como assim padrão ? Eu vou te mostrar a tela aqui.

Desculpe o comportamento padrão em um JComboBox é nenhum item selecionado, ao menos que você chame o método: MeuJComboBox.setSelectedIndex(0).
Mas o que você quer dizer com " precisa falhar"?

1 curtida

Por que dentro das 10, você tem que escolher uma

Porque é assim temos 6 campos, e o campo edição se ficar sem preencher, ele tem que informar que tem que ser preenchido, e não está acontecendo, os outros tá ok

1 curtida

Você já trocou esse && pelo ||?

Sim, eu já fiz isso ai.

Antes do seu if acrescente essa linha:
System.out.println(jComboBox1.getSelectedItem());
E me diz qual valor tá mostrando!

Refiz a pergunta, o negócio tá certo, o problema é só no Combox mesmo

O que está acontecendo no seu JComboBox é que o primeiro item da lista é justamente essa frase que aparece no console!
O que você pode tentar fazer. Substitua:
(jComboBox1.getSelectedItem() == null)

Por:

(jComboBox1.getSelectedItem().equals("frase que aparece no console exatamente como tá!"))

OU

Não tem como eu testa aqui e nem me lembro com é as configurações no netbeans. Mas tenta remover o valor desse campo ou mudar para null! TÁ MARCADO EM AZUL

Testa o primeiro modo é vê se resolve ou o segundo, o que você achar melhor!

1 curtida

Acabei de fazer isso, vou testar aqui kkkk

Agora o Gênero te obriga marcar todas opções.

Mas o JComboBox deu certo?

Deu sim, só que igual eu disse, eu tenho que marcar todas as caixinhas do Gênero para funcionar.