Problemas ao gravar dado com o JComboBox

1 resposta
tiagocampos65

Olá.
meu problema é o seguinte.

Tenho uma aplicação onde gravo dados dos produtos.
e nessa aplicação tem uma janela para cadastrar marca que contem somente duas colunas, uma para o codigo e uma para o nome.

Os resultset das marcas são jogadas em um Jcombobox.

ao cadastrar um produto eu tenho que preencher os JtextFiel e escolher o nome de uma marca no JComboBox.
e aqui esta o problema.

Ao escolher a marca tenho que gravar o codigo, e não o nome que esta no JComboBox.
isso eu não consegui fazer.
Nem como declarar a forma de uma variavel receber o valor da JComboBox.

o Codigo desta parte esta assim.

private JButton getB_salvar() {
		if (b_salvar == null) {
			b_salvar = new JButton();
			b_salvar.setText("Salvar");
			b_salvar.addActionListener(new java.awt.event.ActionListener() {   
				public void actionPerformed(java.awt.event.ActionEvent e) {    
					try {
						String cdProduto = t_codProduto.getText(), 
						desc = t_descProduto.getText(), 
						saldo = t_saldo.getText(),
						custCompra = t_custoCompra.getText(), 
						custoMedio = t_custoMedio.getText(), 
						valorVenda = t_valorVenda.getText(), 
						cdmarca = cb_marca.getSelectedItem();//essa parte eu não sei como fazer.
						
						
						String sql_insert = "insert into unifil.produto values ('" + cdProduto + "','" + desc  + "','" + saldo  + "','" + custCompra  + "','" + custoMedio  + "','" + valorVenda  +"','" + cdmarca+ "')";
	
						Statement stmt = con.conectaBD().createStatement();	
						stmt.execute(sql_insert); 
						stmt.close(); 
						
					} catch (SQLException e1) {
						//
						e1.printStackTrace();
					}
				}
			
			});
		}
		return b_salvar;
	}

Então. não sei como faço. Será que tenho que dar um select no codigo da marca da marca ao selecionar o JcomboBox para gravar?

1 Resposta

fmad27

Oi Tiago,

Você pode adicionar e recuperar objetos no JComboBox.

Então quando for montar o combo não adicione apenas a String com o nome da marca e sim o objeto marca. Ex:

//Objeto Marca
Marca m1 = new Marca();
m1.setCodigo(1);
m1.setNome("Audi");

//Para adicionar objetos
JComboBox combo = new JComboBox();
combo.addItem(m1);

//Para recuperar antes da gravação no banco
//Use isso dentro do evento do clique no combo
m1 = (Marca)combo.getSelectedItem();
Criado 14 de abril de 2009
Ultima resposta 14 de abr. de 2009
Respostas 1
Participantes 2