Ajuda Urgente

5 respostas
S

Tenho uma combobox populada com dados do banco com as atributos mecanica e eletrica.
Precisava que quando selecionado o atributo na combo.. meu textfield recebe o id desse atributo, e se eu selecionar outro.... o textfield seja atualizado...

Aqui esta meu codigo...

public class RegistroOcorrencia extends javax.swing.JFrame {

    private int vetorindice[] = new int[300];
private int x;

    public RegistroOcorrencia() {
        initComponents();
        DaoOcorrencia dao = new DaoOcorrencia();

        List<Ocorrencia> listacombo = dao.Combo();


        jComboBox1.removeAllItems();

        int i = 0;

        for (Ocorrencia oco : listacombo) {

            jComboBox1.addItem(oco.getServicos().getTiposervico().getDescricaoServico());

            vetorindice[i] = oco.getServicos().getTiposervico().getIdServico();

            i++;
// TENTEI FAZER AQUI... MAS ELE SO PEGA O PRIMEIRO DADO DA COMBO.. SEU EU SELECIONO OUTRO.. O TEXTIELD CONTINUA COM O PRIMEIRO CAMPO DA COMBO.
 tftipodeservico.setText(String.valueOf(vetorindice[jComboBox1.getSelectedIndex()]));

5 Respostas

Don

você pode fazer um observer e nos métodos setSelectedItem e setSelectedIndex da combo notificar o text field, assim o valor do text field sempre vai estar sincronizado com o da combo.

qualquer coisa só falar.

S

eu nunca usei isso… vc pode me dar um exemplo?

Don

tava olhando e já tem um listener pra fazer isso hehehe… ai fica mais fácil

olha ai:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class Janela extends JFrame implements ItemListener {

	private static final long serialVersionUID = -3777079481709277848L;

	private JComboBox combo;
	private JTextField texto;

	public Janela() {
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(200, 120);
		combo = new JComboBox();
		combo.addItem("Selecione");
		combo.addItem("Item A");
		combo.addItem("Item B");
		combo.addItemListener(this);
		texto = new JTextField(30);
		alteraValorDoText();
		this.add(combo, BorderLayout.NORTH);
		this.add(texto, BorderLayout.SOUTH);
		this.setVisible(true);

	}

	private void alteraValorDoText() {
		int indice = combo.getSelectedIndex();
		String item = combo.getSelectedItem().toString();
		texto.setText(indice + " - " + item);
	}


	public static void main(String[] args) {
		new Janela();
	}

	public void itemStateChanged(ItemEvent e) {
		alteraValorDoText();
	}

}
S

fez seu esquema… mais ele inicia com 0, acho que eh por que estou populando no init componentes não eh?

S

sempre que eu coloco getSelectedIndex()… ele fica 0

Criado 28 de outubro de 2009
Ultima resposta 29 de out. de 2009
Respostas 5
Participantes 2