Método que insere valor em JTextField de outra janela

2 respostas
gustavocontabeis

Pessoal,
Suponhamos que tenho dois JFrames, ex. Pedidos e Fornecedores. Para cada novo pedido, preciso selecionar um fornecedor no JFrame específico. Como faço um método para inserir o código do fornecedor selecionado no JFrame de pedidos?
Valeu galera!

2 Respostas

guigouz

Você tem que de algum modo passar para a nova janela o JTextField que deve receber o valor. Talvez algo do tipo

JanelaFornecedor janelaFornecedor = new JanelaFornecedor(meuTextField);

na classe JanelaFornecedor você teria um campo

private JTextField destino;

e no método (provavelmente um botão que você clica)

destino.setText(codigoFornecedor);

É só um exemplo e depende muito de como a aplicação estruturada (talvez você possa passar até o frame de pedido inteiro, dependendo do que for preencher)

gustavocontabeis

Coloquei um exemplo, é algo simples e rotineiro para os + experientes, é a minha 1ª aplicação…

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextField;

public class Pedidos extends JFrame {

public Pedidos() {

this.setTitle(Gerar Pedidos);

this.getContentPane().setLayout(null);
//JTextFiel que recebe o código do Fornecebor (que vem do JFrame Fornecedores)

JTextField jtfPedido = new JTextField();

jtfPedido.setBounds( 10 ,75 ,180,25 );

getContentPane().add(jtfPedido);
//JButton que abre o JFrame que lista todos fornecedores em uma tabela.(Pra simplificar usarei um JTextField, pois é só um exemplo)

JButton jbBotaoConsultar = new JButton(Consulta Fornecedores);

jbBotaoConsultar.setBounds( 10 ,120 ,180,25 );

jbBotaoConsultar.addActionListener( new ActionListener() {

public void actionPerformed(ActionEvent e) {

//Aqui está acusando erro no construtor

Fornecedores fornecedores = new Fornecedores( this );

}

});

getContentPane().add(jbBotaoConsultar);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setSize(400, 300);

this.setVisible(true);

}

public static void main(String[] args) {
Pedidos aaa = new Pedidos();
}
}

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import br.com.gst.testes.swings.metodoremoto.*;

import javax.swing.JTextField;

public class Fornecedores extends JFrame {

private Pedidos pedidos;

public Fornecedores(Pedidos pedidos) {
this.pedidos = pedidos;

this.setTitle(“Consulta”);
this.getContentPane().setLayout(null);

//seria uma tabela, mas é um exemplo e usarei um JTextFiel pra simplicicar

//Aqui vai o código do fornecedor

JTextField jtfFornec = new JTextField();

jtfFornec.setBounds( 10 ,75 ,160,25 );

getContentPane().add(jtfFornec);
JButton jbTransporta = new JButton(Transporta);

jbTransporta.setBounds( 10 ,45,160 ,25 );

jbTransporta.addActionListener( new ActionListener() {

public void actionPerformed(ActionEvent e) {

tranportar();

}

});

getContentPane().add(jbTransporta);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

this.setSize(400, 300);

this.setLocation(50,50);

this.setVisible(true);

}

public void tranportar(){

/*
  • Neste método, preciso pegar o texto de jtfFornec (de Fornecedores)
  • e por no jtfCampo (de Pedidos).
  • O construtor Pedidos(this) que está na classe Fornecedor está acusando erro…
    */
    }
    }
Criado 19 de setembro de 2006
Ultima resposta 20 de set. de 2006
Respostas 2
Participantes 2