Transferir dados do texfield de um jframe pra textfield de outro jframe

7 respostas
S

pessoal como faço para passar os dados de um jframe para outro… exemplo:

ao consultar produtos em um jframe, meu outro jframe de orcamento recebe o nome do produto e o valor do jframe de consulta.

Como posso fazer isso?

7 Respostas

N

souzajhonatan:
pessoal como faço para passar os dados de um jframe para outro… exemplo:

ao consultar produtos em um jframe, meu outro jframe de orcamento recebe o nome do produto e o valor do jframe de consulta.

Como posso fazer isso?

Se estiver querendo copiar os dados de um textfiel para o outo é simples…

JTextField origem,destino;
origem = new JTextField();
destino = new JTextField();
String textoOrigem = origem.getText();
destino.setText(textoOrigem);

agora vc poderia… colocar os dados vindo do outro frame em tabelas…

qualquer duvida vc fala ai que agente resolve…

:smiley:

S

Brother na verdade eu keria isso mesmo eu keria inserir na tabela os dados… e dps pegar tdu da tabela e inserir no banco de dados…

Eu tenho o metodo consultar que esta no dao… dps na view eu chamo do controle assim:
Ifachada fachada = new fachada:

fachada.consultar…

so que dps que faço a consulta não tenho a minima ideia de como mandar para a tabela igual a tabela que esta no bando de dados… pois no postgres da pra ver a coluna, linha tdu certinho… queria fazer o msm na jtable…

e dps pegar tdu da jtable e inserir no banco…

vc me ensina a fazer isso?

N

souzajhonatan:
Brother na verdade eu keria isso mesmo eu keria inserir na tabela os dados… e dps pegar tdu da tabela e inserir no banco de dados…

Eu tenho o metodo consultar que esta no dao… dps na view eu chamo do controle assim:
Ifachada fachada = new fachada:

fachada.consultar…

so que dps que faço a consulta não tenho a minima ideia de como mandar para a tabela igual a tabela que esta no bando de dados… pois no postgres da pra ver a coluna, linha tdu certinho… queria fazer o msm na jtable…

e dps pegar tdu da jtable e inserir no banco…

vc me ensina a fazer isso?

Vc pode colocar seu consultar da fachada pra retornar um Iterator
e passar esse Iterator para a tabela…
dai vc carregaria sua tabela apartir dai!!!

caso nao saiba fazer me avisa…
que te esplico!!!

S

mano nunca usei isso… sou novato em java… se vc puder me ajudar a carregar essa tabela eu agradeco mto… meu msn eh [email removido]

e dps que carrega essa jtable… da pra pega tdu que esta nela e inserir no banco de dados?

N

Olá, souzajhonatan!

Beleza??

Cara, um método interessante é passar esse dado do seu JTextField do JFrame1 (por exemplo) através do construtor do JFrame2!

public class Formulario1 extends JFrame {

   private JPanel      meuPanel;
   private JTextField minhaTextField;
   private JButton    meuButton;


   meuPanel = new JPanel();

      minhaTextField = new JTextField(10);
      meuPanel.add(minhaTextField);
    
      meuButton = new JButton("Executar!");
      meuButton.addActionListener(new ExecutarAction());
      meuPanel.add(meuButton);

  getContentPane().add(meuPanel);
  

   private class ExecutarAction implements ActionListener {
   
      public void actionPerformed(ActionEvent e) {
   
         MeuNovoFormulario mnf = new MeuNovoFormulario(minhaTextField.getText());
         mnf.showDialog(); // ou alguma coisa pra mostrá-lo.
      }
   }
}



public class MeuNovoFormulario extends JFrame {

   public MeuNovoFormulario(String textoDaTextField) {

      // Execute as ações que precisa!  
   }
}
H

É simples, é só guardar uma referencia do jFrame da Pesquisa, que tenha um metodo para retornar o Item selecionado.

Uma dica: Trabalhar com o esquema de “lovs”. Onde a pesquisa estaria em um JDialog Modal, é bem mais facil de trabalhar!

N

souzajhonatan:
mano nunca usei isso… sou novato em java… se vc puder me ajudar a carregar essa tabela eu agradeco mto… meu msn eh [email removido]

e dps que carrega essa jtable… da pra pega tdu que esta nela e inserir no banco de dados?

Da uma olhada:

Classe Basica:

public class Produto {

	int codigo;
	String nome;
	String descricao;
	float valor;
	
	public Produto(int codigo, String nome, String descricao, float valor) {
		super();
		this.codigo = codigo;
		this.nome = nome;
		this.descricao = descricao;
		this.valor = valor;
	}
	
	public int getCodigo() {
		return codigo;
	}
	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public float getValor() {
		return valor;
	}
		public void setValor(float valor) {
		this.valor = valor;
	}
	
}

Fachada:

//Essa fachada é so para exemplo, quando é criada ja insere 10 produtos para teste
import java.util.HashMap;
import java.util.Iterator;


public class Fachada {

	HashMap<Integer,Produto> produtos;
	
	Fachada(){
		produtos = new HashMap<Integer,Produto>();
		carregarProdutosDefault();
	}
	
	public void cadastrar(Produto p){
		produtos.put(p.getCodigo(),p);
	}
	public Iterator<Produto> listar(){
		return produtos.values().iterator();
	}
	
	public void carregarProdutosDefault(){
		for(int i = 1;i<11;i++){
			Produto p = new Produto(i,"Produto: "+i,"Esse é o produto: "+i,i);
			cadastrar(p);
		}
	}
	
}

Janela:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Iterator;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.Border;
import javax.swing.table.DefaultTableModel;


public class Janela extends JFrame{

	JPanel panel1;
	JTable tabela;
	DefaultTableModel modelo;
	Fachada fachada;
	
	public Janela(){
		super("Titulo da Janela");
		fachada = new Fachada();
		this.setSize(300,300);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.inicializar();
		this.setLayout(new BorderLayout());
		this.add(panel1,BorderLayout.SOUTH);
		this.add(new JScrollPane(tabela),BorderLayout.CENTER);
	}
		
	public static void main(String[] args) {
		new Janela().setVisible(true);
	}

	public void inicializar(){
		panel1 = new JPanel();
		JButton list = new JButton("Listar");
		list.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				carregarTabela();
			}
		});
		panel1.add(list);
		String head[] = {"CODIGO","NOME","DESCRICAO","PRECO"};
		modelo = new DefaultTableModel(head,0);
		tabela = new JTable(modelo);
	}
	public void carregarTabela(){
		modelo.setRowCount(0);
		Iterator<Produto> i = fachada.listar();
		//enquanto tiver produtos...
		while(i.hasNext()){
			Produto p = i.next();//pega o produto
			String linha[] = {String.valueOf(p.getCodigo()),p.getNome(),p.getDescricao(),String.valueOf(p.getValor())};
			//inserir produtos na tabela
			modelo.addRow(linha);
		}
		
	}

}

Tenta entender ai…
qualquer coisa eu te explico!!!

Criado 2 de dezembro de 2009
Ultima resposta 4 de dez. de 2009
Respostas 7
Participantes 4