Preciso fazer essa confirmação ao usuário selecionar um checkbox.
int resp = JOptionPane.showConfirmDialog(null, "Realmente deseja enviar as fotos ao servidor?", "Enviar fotos", JOptionPane.YES_NO_OPTION);
if (resp == JOptionPane.NO_OPTION) {
checkBox.setSelected(false);
}else{
checkBox.setSelected(true);
}
Qual evento posso utilizar para fazer isso? Tentei alguns mas nenhum deu certo.
Olá nem testei seu código, mas no caso da onde vem o checkBox? um código que funciona seria.
public static void main(String[] args) {
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(null, "Realmente deseja enviar as fotos ao servidor?", "Enviar fotos", dialogButton);
if (dialogResult == 0) {
System.out.println("Sim foi confirmado");
} else {
System.out.println("Não foi confirmado");
}
}
Mas daí precisaria saber de onde vem seu checkbox, pode seu código completo referente ao problema.
Meu checkbox criei pelo Netbeans, a aplicação é Desktop.
Toda vez que a pessoa marcar o checkbox, preciso que ela confirme, se caso confimar eu deixo ele marcado, se ela não confirmar eu desmarco ele
Você provavelmente deve ter uma botão que o usuário clica e, quando ele clica, aparece esse diálogo de confirmação. Aí você coloca esse código no actionListener do botão.
Obs.: Por garantia, chame o método repaint() após selecionar ou desselecionar o checkBox, para garantir a modificação.
Espero ter ajudado.
Então eu preciso executar a confirmação não na ação de um botão, eu preciso executar sempre que o usuário selecionar o CheckBox
A interface utilizada para quando um JCheckBox, um JRadioButton ou um JToggleButton é selecionado ou desselecionado é a ItemListener. Aí você usa um if se chamando o método isSelected() pra quando o componente for selecionado e um else para quando for desselecionado.
Se quiser aprender Java aconselho ler o livro Java Como Programar - Paul e Harvey Deitel.
Sobre GUI é interessante ler os capítulos 14 e 25 da 8*edição. Em outras edições os capítulos podem ter outra numeraçâo.
Se precisar, pode me mandar no meu e-mail: gilmartaj@gmail.com
Espero ter ajudado.