Gente eu estou com um probleminha chato, creio que é bem simples mas não estou conseguindo fazer…
Seguinte… eu fiz um botão no netbeans (arrastar e colar) ai eu dou um duplo click nele e vai para a página do código, onde mostra o espaço dentro do botão private onde eu devo implementar. O problema é eu não consigo passar um valor que está dentro desse botão para outra classe. Já usei get/set mas o valor chega na outra classe como null.
Por exemplo:
dentro do botão criei uma variável:
int i = 10;
ai eu queria passar esse valor (10) para outra classe…mas não estou consegiudo…
alguém poderia me ajudar?
Problemas com botão
13 Respostas
Vc pode criar uma variavel global no código, e fazer com que ela receba o valor desejado qd clicar no tal botão…
depois vc passa essa variavel como parâmetro para um método salvaValor para a classe desejada!!! vc criou uma instância da classe que vc deseja deseja passar o valor?
Eu já criei uma variável global e tb criei a instancia da classe mas ainda assim ele vem como “0” o valor
posta o código aih!
Olha o código;;;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
numPaci = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o id do paciente!!", "Escolha", JOptionPane.QUESTION_MESSAGE));
setNum(numPaci); //Aqui que seria o problema....não consig passar essa variável para outra classe.(Ela já foi a variável já foi declarada lah em cima
try{
DataBase data = new DataBase(numPaci,1);
String nome = data.getNome();
String Sobrenome = data.getSobrenome();
int Idade = data.getIdade();
......
}
a outra classe que receberia esse valor
public class teste{
public teste(){
DataShow ds = new DataShow();
System.out.println("Valor TESTE: " + ds.getNum()); // aqui ao invéz de receber o valor do numPaci que criei lá encima ele recebe 0
}
}
ao inves de Usar um OptionPane.showInputDialog…usa um jDialog com um campo de Texto (jTextField)
no click do botão, vc põe:
suaVariavelGlobal= Double.parseDouble(jTextField.getText());
suaInstancia.seuMetodoSalvaValor(suaVariavelGlobal);
tenta assim…creio que deva funcionar
hehe…ainda não…
eu fiz como vc falou coloquei um jtextfield.gettext(); mas o valor ainda chega como 0…
estranho pq isso só acontece dentro dos botões… nunca tenho problemas assim agora qndo tento fazer isso dentro de um botão eu não consigo… 
Oi,
nos mostre seu método setNum e getNum… ok?
Tchauzin!
Olha o código;;;private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { numPaci = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o id do paciente!!", "Escolha", JOptionPane.QUESTION_MESSAGE)); setNum(numPaci); //Aqui que seria o problema....não consig passar essa variável para outra classe.(Ela já foi a variável já foi declarada lah em cima try{ DataBase data = new DataBase(numPaci,1); String nome = data.getNome(); String Sobrenome = data.getSobrenome(); int Idade = data.getIdade(); ...... }a outra classe que receberia esse valor
public class teste{ public teste(){ DataShow ds = new DataShow(); System.out.println("Valor TESTE: " + ds.getNum()); // aqui ao invéz de receber o valor do numPaci que criei lá encima ele recebe 0 } }
Analisando o código, verifiquei que você está executando a seguinte linha: DataShow ds = new DataShow();.
O que está acontecendo é que o processamento do código continua, e ele irá executar o sysout antes mesmo de você chamar o método setNum().
ok…aqui tah o código
public int numPaci;
public int escolha;
........
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
numPaci = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o id do paciente!!", "Escolha", JOptionPane.QUESTION_MESSAGE));
// numPaci = Integer.parseInt(jTextField13.getText()); tentei assim também...
setNum(numPaci);
.....
}
public void setNum(int n){
this.escolha = n;
}
public int getNum(){
return escolha;
}
ok…aqui tah o código
public int numPaci;
public int escolha;
........
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
numPaci = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o id do paciente!!", "Escolha", JOptionPane.QUESTION_MESSAGE));
// numPaci = Integer.parseInt(jTextField13.getText()); tentei assim também...
setNum(numPaci);
.....
}
public void setNum(int n){
this.escolha = n;
}
public int getNum(){
return escolha;
}
é de fato…vc tem q criar a instância da classe antes de chamar o método…por isso perguntei no começo do post se tinha criado a instância como a Lina apontou!
ahh saquei…vlw pessoal…valeu mesmo…!!! 
ah…ainda não deu certo…achu q não fiz certo…
tem como me mostrar um exemplo…por favor?..
brigado…
e desculpa incomodar de novo =P