tenho um jcombobox que está recebendo dados do banco, porém ele tem um código e descrição.
eu pretendo jogar a descrição no combo, porém como eu faço para recuperar o código certo referente e essa decrição na hora de recuperar o conteúdo do box ?
Você pode adicionar objetos de qualquer tipo a uma ComboBox, e o texto que a ComboBox exibe por padrão é o valor retornado pelo método toString() dos objetos que você tiver adicionado. Digamos que você tenha uma classe chamada Registro, com os métodos getCodigo(), getDescricao() e toString(), onde o método toString() retorna a descrição. Se você adcionar um objeto Registro a uma ComboBox via ComboBox.addItem(), a descrição será exibida corretamente. E, para obter o código do item selecionado, é só ler o item via ComboBox.getSelectedItem() e converter o valor:
kuroneko
então vou ter que trabalhar com um objeto ali dentro do combobox
vou tentar fazer aqui qualquer coisa do um berro haha
valeu pela ajuda
lina
Movido para Interface Gráfica.
kuroneko
consegui fazer os textos e tals
só estou com probleminhas para pegar o código agora haha
estou fazendo igual o amigo falou mas não esta indo ;\
q por fala obrigado roger
R
roger_rf
Envie as seções relevantes do seu código para analisarmos. Se você tiver alguma listagem de erro, não deixe de incluí-la também.
kuroneko
int banca = ((Banca) comboBanca.getSelectedItem()).getCodigo();
String DelBanca = "Delete From con_banca where CodBanca = ?";
//Deleta o carreira
try {
PreparedStatement stm = (PreparedStatement) ConMySql.getConexao().prepareStatement(DelBanca);
stm.setInt(1, banca);
stm.executeUpdate();
stm.close();
ConMySql.getConexao().close();
} catch (Exception e) {
}
ele não deu msg de erro apenas não deletou o campo
R
roger_rf
Vários comentários:
1 - Você verificou se a variável [banca] realmente está recebendo o valor que você espera?
2 - O bloco [catch] está vazio, não contém nem mesmo uma chamada [e.printStackTrace()]. Você tem certeza de que não está ocorrendo nenhuma exceção?
3 - O método Connection.prepareStatement() sempre retorna um PreparedStatement, então a conversão de tipo via “(PreparedStatement)” não é necessária;
4 - Antes de usar Connection.close(), pode ser interessante usar Connection.commit() para ter certeza de que a exclusão será confirmada no Banco de Dados.
kuroneko
Massa, vou dar uma olhada nesses pontos que você comentou
valeu pela atenção
kuroneko
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to simulados.Banca.Banca
at simulados.Banca.DelBanca.btCarreiraActionPerformed(DelBanca.java:242)
at simulados.Banca.DelBanca.access$300(DelBanca.java:29)
at simulados.Banca.DelBanca$5.actionPerformed(DelBanca.java:110)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
essse dai é o erro que ta dando
lina
Oi,
Você está fazendo um cast de String sendo que o seu retorno é simulados.Banca.Banca (Object)
Tchauzin!
kuroneko
desculpa minha noobice, mas como resolvo ?
R
roger_rf
Você parece ter adicionado objetos do tipo String à ComboBox, não objetos do tipo Banca. Assegure-se de adicionar objetos do tipo correto à ComboBox.