Problemas com botão

13 respostas
Leco2

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?

13 Respostas

F

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?

Leco2

Eu já criei uma variável global e tb criei a instancia da classe mas ainda assim ele vem como “0” o valor

F

posta o código aih!

Leco2

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


    }
}
F

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

Leco2

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… :cry:

lina

Oi,

nos mostre seu método setNum e getNum… ok?

Tchauzin!

lina
*Leco*:
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().

Leco2

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;
    }
Leco2

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;
    }
F

é 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!

Leco2

ahh saquei…vlw pessoal…valeu mesmo…!!! :smiley:

Leco2

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

Criado 9 de fevereiro de 2009
Ultima resposta 9 de fev. de 2009
Respostas 13
Participantes 3