Oi, rolipam!
rolipam:
Na minha aplicação possuo um JCombobox com as Opções Selecione (que não tem nehum evento associado), Ativo e Inativo. Gostaria de saber qual comando utilizo para salvar no banco de dados o item selecnionado no CB (tentei o getSelectedItem(), porém dá um erro informando que o tipo requerido é uma String (pois no Bean o tipo do dado também é uma String) e o Compilador está encontrando um Object, além do mais não me aparece a opção getSelectedItem().getText().
Se você passou uma coleção de Strings para a sua JComboBox, você terá Strings como retorno na opção
getSelectedItem().
Se você passou uma coleção de Beans, você terá um Bean como retorno da JComboBox.
Independente da forma, para pegar os dados, você deve fazer um cast do item para string (caso seja uma coleção de strings) ou para o Bean (caso seja uma coleção de beans). Exemplo:
//Seu bean...
public class Status {
private Long ID;
private String nome;
}
//No seu formulário...
List<Status> entidadeStatus = DAO.buscarListaDeStatus();
JComboBox comboboxStatus = new JComboBox(new DefaultComboBoxModel(entidadeStatus.toArray()));
comboboxStatus.addActionListener(new AlterarStatusActionListener());
//Seu listener...
private class AlterarStatusItemListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
JComboBox combobox = (JComboBox) event.getSource();
Status entidadeStatus = (Status) combobox.getSelectedItem();
// realiza sua operação de salvar no banco...
}
}
rolipam:
Outro problema está na hora de salvar no banco, quero salvar apenas A = Ativo e I = Inativo e qdo recuperar os dados no Banco, durante a navegação quero que o combo atualize automaticamente.
Trate isso nos seu Listener. Você recebe o objeto status
ATIVO. Você verifica: é ativo? Se sim, você passa pra sua regra de negócio o valor "A". Se não, passa o valor "I".
Não entendi o que você quis dizer com: "durante a navegação quero que o combo atualize automaticamente".
rolipam:
Mais uma coisa, quero ainda que qdo a opção selecionada for Inativo, preencha o campo Data de Demissão com a data atual (esse preenchimento não é problema, pois qdo o usuário cria um novo cadastro o campo data de admissão já é preenchido atomático)
Mais uma vez, você trata isso no seu Listener. É tudo questão de lógica. Caso o status selecionado seja
INATIVO, você apaga o campo da data de demissão outrora preenchido (como você disse) e habilita para que o usuário possa editá-lo.
Espero ter ajudado,
fique com Deus! :D