[RESOLVIDO] Atualizar Frame

6 respostas
hugosg

Boa noite gente, eu tenho uma frame composta por uma ComboBox e um menu q executa a seguinte ação:

menuNovo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { new AdicionarAlterar(0,0); preencheCombo(); } });

A chamada “new AdicionarAlterar(0,0);” chama uma outra frame onde insiro dados num banco q serão usados para atualizar a Combo da frame anterior através do método preencheCombo();

public void preencheCombo(){ cbProgramas.removeAllItems(); cbProgramas.addItem("Lista de Programas"); ProgramaDAO dao = new ProgramaDAO(); Programa p = new Programa(); List<Programa> lista = dao.pesquisaPrograma(); int i = 1; for(Iterator it = lista.iterator(); it.hasNext();){ p = (Programa) it.next(); cbProgramas.addItem(p.getName()); ids[i++] = p.getId(); } return; }

O meu problema é q o action está executando o preencheCombo direto, antes de eu sequer preencher a frame AdicionarAlterar, eu gostaria de chamar essa frame, preenche-la e depois chamar o método preencheCombo para atualizar minha Combo, alguém tem alguma sugestão?

6 Respostas

walissongpi

Não enxerguei seu projeto mas acho que vc poderia chamar o método depois da gravação no banco de dados, dentro da AdicionarAlterar(0,0);

hugosg

Mas como eu vou chamar um método de uma frame ativa em outra? Se tem como fazer isso eu nunca fiz. :frowning:

walissongpi

Não sei se é o melhor a ser feito, fiz isso uma vez. Passei o frame por parâmetro para o outro frame.
:-o

hugosg

Amigão, eu realmente não entendo como passar a própria frame como parâmetro de um método q ela mesma chama. Poderia me mostrar o seu exemplo?

zoren

Vc pode passar o Frame atual pelo construtor de outro Frame ou qualquer objeto

ex:

MeuFrame m = new MeuFrame(this);

Outra classe (a do Meu Frame)

Apenas o construtor

public MeuFrame(JFrame frame){

     this.frame = frame;
}

Tbm já fiz algo assim numa atividade da faculdade

Assim vc pode manipular o seu JFrame em qualquer lugar (desde que ele esteja disponível no lugar que vc quer acessa-lo)

hugosg

Vlw Zoren, a sua dica deu certo.

Criado 19 de fevereiro de 2010
Ultima resposta 19 de fev. de 2010
Respostas 6
Participantes 3