[code]Galera sou novo na área se alguem puder ajudar agradeço. preciso atualizar um jcombobox
ArrayList assunto = AgendaFacade.getAgendaFacade().listaTipoDocumentos();
jcbTipo.removeAllItems();
jcbTipo.addItem("");
for(int i=0;i<assunto.size(); i++){
String nome = assunto.get(i).getDescricao();
int id = assunto.get(i).getId();
jcbTipo.addItem(new Item(id,nome));
}
BeanDocumento docc = AgendaFacade.getAgendaFacade().listarAlteraDocumentos(iid);
aqui retorna od id docc.getTipo();
como faço para mostrar atraves jcbTipo.setSelectedItem()
[/code]
Bem não entendi muito bem o que você precisa, porem se for carregar e recuperar dados de um combo você poderia fazer assim
Para carregar o combo com informações
List<BeanTipoDocumento> assunto = AgendaFacade.getAgendaFacade().listaTipoDocumentos();
DefaultComboBoxModel boxAssunto = new DefaultComboBoxModel();
for (BeanTipoDocumento assu : assunto) {
boxAssunto.addElement(assu);
}
jcbTipo.setModel(boxAssunto);
para recuperar informações do combo
BeanTipoDocumento assunto = (BeanTipoDocumento) jcbTipo.getSelectedItem();
String Descricao = assunto.getDescricao();
Integer ID = assunto.getId();
[quote=rpassos81]Bem não entendi muito bem o que você precisa, porem se for carregar e recuperar dados de um combo você poderia fazer assim
Para carregar o combo com informações
List<BeanTipoDocumento> assunto = AgendaFacade.getAgendaFacade().listaTipoDocumentos();
DefaultComboBoxModel boxAssunto = new DefaultComboBoxModel();
for (BeanTipoDocumento assu : assunto) {
boxAssunto.addElement(assu);
}
jcbTipo.setModel(boxAssunto);
para recuperar informações do combo
[code]
BeanTipoDocumento assunto = (BeanTipoDocumento) jcbTipo.getSelectedItem();
String Descricao = assunto.getDescricao();
Integer ID = assunto.getId();
O combo ja foi carregado e e recuperado o id, um pouco parecido com a informação acima.
O problema e mostrar na tela o forme carregado com as informação do banco, no caso se necessitar alterar os dados. Ai é que não consigo setar o combo
BeanDocumento docc = AgendaFacade.getAgendaFacade().listarAlteraDocumentos(iid);
txt_interessado.setText(docc.getInteressado());
txt_assunto.setText(docc.getAssunto());
jcbTipo.setSelectedItem();
txt_origem.setText(docc.getOrigem());
txt_descricao.setText(docc.getDocumento());
}
[/code][/quote]
/*Código completo
Aqui combo esta carregando direitinho.
*/
private void carregarAssunto(){
ArrayList<BeanTipoDocumento> assunto = AgendaFacade.getAgendaFacade().listaTipoDocumentos();
jcbTipo.removeAllItems();
jcbTipo.addItem("");
for(int i=0;i<assunto.size(); i++){
String nome = assunto.get(i).getDescricao();
int id = assunto.get(i).getId();
jcbTipo.addItem(new Item(id,nome));
}
}
/* O poblema é que necessito fazer algumas alteração nesses dados.
para quando fizer a pesquisa ele mostrar todos os campos preenchidos.
*/
private void jctOkActionPerformed(java.awt.event.ActionEvent evt) {
ItemDoc ii = (ItemDoc) jcbPesquisa.getSelectedItem();
int iid = ii.id;
// aqui retorna todos os dados pesquisados.
BeanDocumento docc = AgendaFacade.getAgendaFacade().listarAlteraDocumentos(iid);
txt_interessado.setText(docc.getInteressado());
txt_assunto.setText(docc.getAssunto());
jcbTipo.setSelectedItem(docc.getTipo()); // é aqui q ñ consigor mostrar no combo os dados do banco
txt_origem.setText(docc.getOrigem());
txt_descricao.setText(docc.getDocumento());
}
/* Aqui eu recupero o id e insiro no banco de dados até o momento está Ok */
private void jbtSalvarActionPerformed(java.awt.event.ActionEvent evt) {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
txt_data.setText(df.format(new Date()));
Item i = (Item) jcbTipo.getSelectedItem();
int id = i.getId();
BeanDocumento documentos = new BeanDocumento();
documentos.setTipo(id);
documentos.setOrigem(txt_origem.getText());
documentos.setDocumento(txt_descricao.getText());
documentos.setInteressado(txt_interessado.getText());
documentos.setAssunto(txt_assunto.getText());
documentos.setUsuario(usuario);
boolean tudoOk = true;
try{
documentos.setData(DateFormat.getDateInstance(DateFormat.MEDIUM).parse(txt_data.getText()));
}catch(ParseException ex){
JOptionPane.showMessageDialog(this,"Data errada"+ ex.getMessage());
tudoOk = false;
}
try{
AgendaFacade.getAgendaFacade().AlteraDocumentos(documentos);
}catch(Exception ex){
JOptionPane.showMessageDialog(this,"Erro ao alterar"+ ex.getMessage());
tudoOk = false;
}
if(tudoOk){
JOptionPane.showMessageDialog(this,"Altrado com sucesso");
limpar();
}
}
//Socorro ajudem por favor
/* Pessoal estou precisando mesmo de ajuda!
Aqui esta minha combo carregado, esta funcionando normal
*/
private void carregarAssunto(){
ArrayList<BeanTipoDocumento> assunto = AgendaFacade.getAgendaFacade().listaTipoDocumentos();
jcbTipo.removeAllItems();
jcbTipo.addItem("");
for(int i=0;i<assunto.size(); i++){
String nome = assunto.get(i).getDescricao();
int id = assunto.get(i).getId();
jcbTipo.addItem(new Item(id,nome));
}
}
/* O problema esta qui, na hora que preciso atualizar a combo com os dados quem vem do banco de dados
*/
private void jctOkActionPerformed(java.awt.event.ActionEvent evt) {
ItemDoc ii = (ItemDoc) jcbPesquisa.getSelectedItem();
int iid = ii.id; //faça o getter!
BeanDocumento docc = AgendaFacade.getAgendaFacade().listarAlteraDocumentos(iid);
txt_interessado.setText(docc.getInteressado());
txt_assunto.setText(docc.getAssunto());
txt_origem.setText(docc.getOrigem());
txt_descricao.setText(docc.getDocumento());
jcbTipo.setSelectedItem(docc.getTipo()); // dessa forma minha combo não atualiza eu preciso setar o item mesmo o docc,getTipo() é o id que retorna do banco, ai eu preciso mostrar não id mas sim a descricao do assunto..
jcbTipo.setSelectedItem(new Item(docc.getTipo(),toString())); /* ja fiz dessa forma não retorna nada, tiver algume ai de bom coração favor um help!*/
}