Como pegar o item selecionado em um Combo

Olá,

Tenho no evento formComponentShown do jFrame o seguinte código:
try {
TestaConexao conexao = new TestaConexao();
conexao.conectaBanco();
cQuerySql = “select * from ESTADOS order by abreviatura”;
resultado_RS = conexao.consultarDados(cQuerySql);
while (resultado_RS.next()) {
jcb_Estado.addItem(resultado_RS.getString(“ABREVIATURA”));
}
} catch(Exception e){
JOptionPane.showMessageDialog(null, “Erro aqui”, “Mensagens”, JOptionPane.INFORMATION_MESSAGE);
System.out.println(e.getMessage());
}

Como saber qual o item do combo o usuário selecionou?

Chama um desses

jcb_Estado.getSelectedIndex();
jcb_Estado.getSelectedItem();

Sendo que vc pode usar um ActionListener ou ItemListener para pegar o evento
da seleção.

Olá,

Eu já tinha usado o evento itemStateChanged, só que ocorre o seguinte:
Na primeira vez que eu carrego o combo, ou seja, no momento que eu mostro JFrame ocorre o vento evento itemStateChanged e não se o porque, mas o combo fica somente com um item na lista e não todos os itens. Tenho 3 estados cadastrados (AM, RJ e TO) mas mostra somente o primeiro AM.
Se eu retirar o evento itemStateChanged, mostra todos.

Estranho, não deveria acontecer.
Tenho um exemplinho bem simples, que usa ActionListener e o ItemListener.
Ve se te ajuda.

public class ComboTest2 extends JPanel {

	JComboBox combo;

	public ComboTest2() {
		this.add(getCombo());
	}

	public JComboBox getCombo() {
		combo = new JComboBox();
		combo.addItem(new Bean2("Portal", "Java"));
		combo.addItem(new Bean2("www", "guj"));
		combo.addItem(new Bean2("infoq", ".com"));
		combo.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				System.out.println("ActionListerer " + combo.getSelectedItem());

			}
		});

		combo.addItemListener(new ItemListener() {
			@Override
			public void itemStateChanged(ItemEvent e) {
				System.out.println("itemStateChanged " + e.getItem() + " "
						+ e.getStateChange());

			}
		});

		return combo;
	}

	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setContentPane(new ComboTest2());
		frame.setSize(300, 200);
		frame.setVisible(true);
	}
}

class Bean2 {
	String name;
	String last;

	public Bean2(String name, String last) {
		this.name = name;
		this.last = last;
	}

	public String toString() {
		return name + " " + last;
	}
}