Para vincular os dados a um componente JComboBox:
Clique com o botão direito do mouse na caixa de combinação e escolha Vincular > Elementos.
Clique em Importar dados para formulário. Na caixa de diálogo Importar dados para formulário, selecione a tabela de banco de dados a qual você deseja vincular seus componentes. Clique em OK.
Na caixa de combinação Vincular origem, selecione o item que representa a lista de resultados da classe da entidade. Por exemplo, se a classe da entidade for chamada, Customer.java, o objeto da lista seria gerado como customerList.
Deixe o valor expressão de vinculação como nulo.
Clique com o botão direito do mouse na caixa de combinação novamente e escolha Vincular > Item selecionado.
Vincule à propriedade que você deseja que seja afetada pela seleção do usuário. Clique em OK.
A biblioteca Vinculação de Beans (a partir da versão 1.2.1) não possui uma classe DetailBinding que permite que você especifique como derivar os valores de exibição de JComboBox. Portanto, você precisará escrever algum código personalizado. Uma abordagem é escrever um renderizador de célula personalizado, como mostrado abaixo.
Para renderizar a caixa de combinação adequadamente:
Selecione a caixa de combinação.
Na aba Propriedades da janela Propriedades, selecione a propriedade renderer.
Clique no botão de reticências.
Na caixa de combinação na parte superior do editor de propriedades, selecione Personalizar código.
Na área de texto, indique um código semelhante ao seguinte (onde jComboBox1 é o nome da instância JComboBox, MyEntityClass é a classe da entidade e getPropertyFromMyEntityClass() é o getter da propriedade na classe da entidade que você está vinculando.
jComboBox1.setRenderer(new DefaultListCellRenderer() {
@Override
public Component getListCellRendererComponent(
JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value instanceof MyEntityClass) {
MyEntityClass mec = (MyEntityClass)value;
setText(mec.getPropertyFromMyEntityClass());
}
return this;
}
})