Erro ao levar dados de uma tela para outra

6 respostas
C

estou com problema na parte de jogar dados de uma tela para outra, eu não estou conseguindo jogar dados de uma tabela para um JTextField em outra tela, preciso selecionar o funcionario da empresa de uma tabela, e ao clicar no botão selecionar eu não consigo jogar o nome dele para outra tela, e antes de tentar jogar na outra tela, eu consigo imprimir a variavel num JOptionPane normalmente com nome do funcionário, se alguem souber ou já fez algo parecido e poder me ajudar eu ficaria agradecido.

6 Respostas

C

vou postar o codigo da ação do botão, preciso dos dados de uma tabela de 1 tela e jogar na outra tela.

public void actionPerformed(ActionEvent ae){

String nome="", id="";

int linha = pesqpessoa.getJtTabela().getSelectedRow();
nome = (String) pesqpessoa.getJtTabela().getValueAt(linha, 1);
	id = (String) pesqpessoa.getJtTabela().getValueAt(linha, 0);

	JOptionPane.showMessageDialog(null, "nome = " +nome + "\n id=" + id);
	
	try{
	documento.getJtfPessoa().setText(nome);
	documento.getJtfID().setText(id);
	}catch(Exception ex){
		ex.printStackTrace();
	}
}

}

esta dando erro dentro do try, o printStackTrace,

é esse:

java.lang.NullPointerException

at event.PesquisarPessoaOK.actionPerformed(PesquisarPessoaOK.java:36)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$000(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue$2.run(Unknown Source)

at java.awt.EventQueue$2.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

se alguem souber e puder me ajudar ficaria agredecido. muito obrigado.

Z

Estou com um problema semelhante.
Quando clico em um botão, preciso pegar um objeto que está em outra classe, no caso é um valor…aqui nao está retornando nada =/

Anime

Oi,

Espero que ajude…http://www.guj.com.br/java/55710-jdialog-devolvendo-valor-pra-jinternalframe#292687

vinnysoft

Boa noite pessoal.

Amigo, quando for colocar código, utiliza a tag Code para seu código ficar mais visível e ficar mais fácil de te ajudar.

Segundo, uma pergunta: Onde vc está criando seu objeto documento? Tem como postar? Ele é um objeto de qual classe? JFrame?

Até +!

C

é JFrame, ai dentro dela tenho dois JTextField que preciso jogar os dados de outra tela que tambem é da extends JFrame, e preciso jogar esses dados na tela anterior

vinnysoft

Olá!

Amigo, basta tentar não pensar em JFrame comunicar com JFrame, mas objeto comunicando com objeto. Tudo em java é um objeto, inclusive os JFrames.

Tente também pensar em não “pegar o objeto de outra classe”, mas sim fazer com que esta outra classe repasse o objeto preenchido para frente!

Neste exemplo, em uma tela eu insiro o nome e endereço da pessoa, passo para outro JFrame, que exibirá na tela o nome e endereco recebido.

Classe Pessoa.java

public class Pessoa
{

private String nome;
private String endereco;

//getters and setters...

}

Na tela de cadastro, tenho dois JTextFields: txtNome e txtEndereco:

FrameCadastrar.java

public class FrameCadastrar extends javax.swing.JFrame
{

//Construtor
public FrameCadastrar()
{
initComponents();
}

public void transferirDadosJFrame()
{
//Cria-se um objeto pessoa. 
Pessoa pessoa = new Pessoa();

//Configura os atributos nome e endereco deste objeto pessoa.
pessoa.setNome(txtNome.getText());
pessoa.setEndereco(txtEndereco.getText());

//Cria um objeto JFrame (FrameExibirDados) enviando o objeto pessoa para ele.
FrameExibirDados frameExibir = new FrameExibirDados(pessoa);

//Abre o novo Frame com os dados da pessoa e fecha o frame anterior
frameExibir.setVisible(true);
this.dispose();

}
}

Então vc poderia utilizar algum evento (clicar de um botão, por exemplo) para chamar o método transferirDadosJFrame, e este passaria o objeto pessoa para outro JFrame.

FrameExibirDados.java

public class FrameExibirDados extends javax.swing.JFrame
{

//Construtor
public FrameExibirDados(Pessoa pessoa)
{
initComponents();

//Aqui o novo JFrame recebe o objeto pessoa e preenche os JTextFields com os valores.
this.txtNome.setText(pessoa.getNome());
this.txtEndereco.setText(pessoa.getEndereco());

}

}

Espero ter ajudado!

Até +!

Criado 30 de novembro de 2011
Ultima resposta 1 de dez. de 2011
Respostas 6
Participantes 4