Problema com ComboBox

Bom dia. Sou iniciante em java e barrei em uma dúvida, estou desenvolvendo um projeto e nele preciso inserir uma JComboBox onde nela ira conter o nome de algumas cidades que estão cadastradas no banco de dados. Quando o usuário selecionar uma determinada cidade gostaria que o software soube-se o ID da cidade. Em outra linguagem que programo consigo fazer isso da seguinte maneira: adiciona as cidades na Combo e lá tenho há uma propriedade chamada Tag, onde consigo vingular ao nome inserido um valor controlado internamente, resumindo, preciso de algo que quando o usuario selecione um determinado item(cidade) ele consiga buscar o valor atribuido a ele, no caso o seu id. Será que tem algum componente parecido com isso no java ou alguém tem alguma sugestão para mim resolver esse problema.

Obrigado

package br.org.cieers.institucionalWeb;

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

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Teste {

/**
 * @param args
 */
public static void main(String[] args) {
	JFrame frame = new JFrame();
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setLayout(null);
	frame.setBounds(20, 20, 300, 100);
	
	final JLabel label = new JLabel("Codigo da Cidade Escolhida");
	label.setBounds(10, 40, 200, 21);
	frame.add(label);
	
	final JComboBox combo = new JComboBox();
	combo.addItem(new Teste().new Cidade(1, "Porto Alegre"));
	combo.addItem(new Teste().new Cidade(2, "Canoas"));
	combo.addItem(new Teste().new Cidade(3, "Charqueadas"));
	combo.setBounds(10, 10, 120, 21);
	frame.add(combo);
	
	
	final JButton botao = new JButton("Ok");
	botao.setBounds(140, 10, 100, 21);
	botao.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent arg0) {
			Integer id = ((Cidade)combo.getSelectedItem()).getId();
			label.setText(String.valueOf(id));
		}
	});
	frame.add(botao);
	
	
	
	frame.setVisible(true);
}

public class Cidade {
	
	private int id;
	private String cidade;
	/**
	 * @return Returns the id.
	 */
	public int getId() {
		return id;
	}
	/**
	 * @param id The id to set.
	 */
	public void setId(int id) {
		this.id = id;
	}
	/**
	 * @return Returns the cidade.
	 */
	public String getCidade() {
		return cidade;
	}
	/**
	 * @param cidade The cidade to set.
	 */
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public Cidade(int id, String cidade) {
		super();
		this.id = id;
		this.cidade = cidade;
	}
	
	@Override
	public String toString() {
		return this.getCidade();
	}
}

}

Ve se isso ajuda.
O segredo é o to String do Javabean.
O JcomboBox usa o toString dos objetos q adiciona.

Obs: fiz o java bean em uma inner class pra ficar tudo num arquivo só, mas pode(deve) fazer saparado.hehe.