jComboBox duvida

ola pessoal, seguinte!
eu abro um frame que possui um jComboBox, e ao inicializar esse frame o jComboBox é preenchido com os dados de uma tabela do banco de dados!
porem, no combox aparece a referencia, ex: CT,CR,CD entre outras…
porem tenho que ter essa informação e tb o CODIGO daquela referencia no mesmo combox!

ouvi dizer que tem como, pois o combobox guarda o q ele mostra pro usuario e o valor daquela informação!
em outra linsguagens é possivel, porem em java nao sei como fazer isso
alguem sabe me ajudar?

qualquer coisa explico mais detalhadamente…

grato!

Que jeito você esta adicionando para mostrar na combo box? Você pega o objeto que contém todos os dados ou a String referenciando o nome do objeto?

Eu costumo fazer assim por exemplo:

//recebo a listagem do banco e guardo ela dentro de uma variavel do tipo List
List <ObjVindoDoBanco>lista = new ArrayList<ObjVindoDoBanco>();

Para preencher a combo box eu crio um método

private void atualizarCombo() { comboLista.removeAllItems(); //remove todos os itens e re-adiciona um por um for(ObjVindoDoBanco item:lista){ comboLista.addItem(item.getId()+item.getNome());//aqui você mostra uma String dentro da combo que pode ser do jeito que você quiser } }

Esse método deve sempre ser chamado ao atualizar os dados, para remover um item remova-o da lista em seguida chame esse método

O segredo é criar uma classe bem simples, só para visualizar as coisas no combo, e fazer essa classe implementar o método toString. Exemplo:

package guj;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class ExemploJComboBox extends JFrame {

	/** Esta é uma classe bem simples, que você usa só para preencher o combo. */
	static class Feriado {
		public Feriado (int dia, String mes, String nomeFeriado) {
			this.dia = dia; this.mes = mes; this.nomeFeriado = nomeFeriado;
		}
		public int getDia() {
			return dia;
		}
		public String getMes() {
			return mes;
		}
		public String getNomeFeriado() {
			return nomeFeriado;
		}
		public void setDia(int dia) {
			this.dia = dia;
		}
		public void setMes(String mes) {
			this.mes = mes;
		}
		public void setNomeFeriado(String nomeFeriado) {
			this.nomeFeriado = nomeFeriado;
		}
		/** Este método é o que você usa para mostrar um feriado no combo */
		@Override
		public String toString() { return nomeFeriado; }

		private String nomeFeriado;
		private int dia;
		private String mes;
	}
	public ExemploJComboBox() {
		super();
		initialize();
	}
	/**
	 * Este é o método ao qual você deve prestar atenção. Entenda-o direitinho!	
	 */
	private JComboBox getCboFeriados() {
		if (cboFeriados == null) {
			cboFeriados = new JComboBox();
			DefaultComboBoxModel dcbm = (DefaultComboBoxModel) cboFeriados.getModel();
			dcbm.addElement(new Feriado (7, "setembro", "Independência"));
			dcbm.addElement(new Feriado (15, "outubro", "Proclamação da República"));
			dcbm.addElement(new Feriado (25, "dezembro", "Natal"));
			cboFeriados.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					Feriado feriadoSelecionado = (Feriado) cboFeriados.getSelectedItem();
					if (feriadoSelecionado == null) return;
					lblFeriadoEscolhido.setText( "O feriado escolhido é " + 
							feriadoSelecionado.getNomeFeriado() + 
							", que ocorre em " + 
							feriadoSelecionado.getDia() +
							" de " +
							feriadoSelecionado.getMes());
				}
			});
		}
		return cboFeriados;
	}
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			lblFeriadoEscolhido = new JLabel();
			lblFeriadoEscolhido.setText("");
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.add(getCboFeriados(), BorderLayout.NORTH);
			jContentPane.add(lblFeriadoEscolhido, BorderLayout.SOUTH);
		}
		return jContentPane;
	}
	private void initialize() {
		this.setSize(500, 100);
		this.setContentPane(getJContentPane());
		this.setTitle("Exemplo JComboBox");
	}
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				ExemploJComboBox thisClass = new ExemploJComboBox();
				thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				thisClass.setVisible(true);
			}
		});
	}

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;
	private JComboBox cboFeriados = null;
	private JLabel lblFeriadoEscolhido = null;
}

Note que você adiciona Objetos (neste caso instâncias da classe Feriado) no combo, não Strings.

Magnifica a explicação entanglement!!! porem resolvi de um jeito bem simples, ve o que voce acha, posso fazer isso?
preencho o jComboBox com um campo de uma tabela do banco de dados atraves de um ResultSet

while(resultSet.next()){
jComboBox1.addItem(resultSet.getString("modalidade"));
}

isso era o q eu tinha, porem preciso deixar guardado a informação MODALIDADE que vou poder buscar no jComboBox e tambem o COD daquela modalidade.
Entao criei um arraylist para guardar os COD. segue o codigo abaixo:

List<Integer> listaCodModalidade = new ArrayList<>();

public void atualizarComboBox(){
        jComboBox.removeAllItems();
        jComboBox.addItem("selecione uma Modalidade");
        while(resultSet.next()){
        jComboBox.addItem(resultSet.getString("modalidade"));
        listaCodModalidade.add(resultSet.getInt("cod"));
        }
}

assim posso buscar o COD da MODALIDADE selecionada atraves do metodo getSelectedIndex().
a index do combobox + 1 é igual ao indice do elemento da lista que esta o respectivo COD daquela modalidade…

OBS: pode ter alguns erros no codigo, pois nao testei, tenho feito no trabalho e aqui fiz de cabeça pelo q lembrava…

Grato.