Variavel em metodo de outra classe

11 respostas
Marck

Olá pessoal.

Por favor, preciso de uma orientação aqui:

Não to conseguindo passar uma variavel dentro de um metodo de uma classe para outra, seria isso possível?

att,
Marck

11 Respostas

Rulio

depende do que vc quer fazer

public class X{

public void fazAlumaCoisa(int y){

System.out.println(y);

}

}

public class Y{
int w = 1;
X x = new X();
x.fazAlumaCoisa( w );
}

Tenta fazer assim.

Marck

Olá.
Quero fazer isto:

JBvisualizar.addActionListener(new ActionListener(){
      	public void actionPerformed(ActionEvent e){
      		
      
         preencherCampos();
      
      
      	}}
        );
public void preencherCampos(String pega_user){
  		
  		pega_user = (String) JCombo.getSelectedItem();
  		
  		}
public class outra classe{

          //aqui eu queria pegar o valor de pega_user

}

Valew!!!

lenando

Tente isso.

public String preencherCampos(){
   		
     return (String) JCombo.getSelectedItem();
   		
}

Vc está considerando que o parâmetro String pega_user retornará o valor do JCombo, porém isso não acontecerá devido ao fato de que toda nova referência ao parâmetro (uma nova String no caso) não afetará o parâmetro original. A exceção se faz aos métodos que podem alterar o estado do objeto do parâmetro.

Espero ter ajudado.

LPJava

assim poe a tua classe ae :d facilita a resolução :d

sojourney

naum se ise entedi muito bem, o lance de colocar a classe ai talvez realmente ajude, mas, acho q deveria dar um return em pega_user…

tbm naum entendi pq vc passa pega_user como argumento, considerando q ele vai receber um valor…pq naum passou a String como um argumento, esta sim iria alimentar pega_user…

espero ter ajudado.

Marck

Bom dia.

Pessoal, só nao coloco o código pq tá na máquina de casa :d!!

Tenho outra dúvida, vou resumir o que eu fiz:

public class PrimeiraClasse{

  //aqui tem um botao que chama o metodo preencherCampos


 public String preencherCampos(){
    		
      
     //aqui esta a dúvida, teria que fazer isso
     Recursos rec = new Recursos();
     rec.buscaDados();
     //no metodo buscaDados da classe rec tem um select
     //o select busca baseado na informação que vem da String preencherCampos

     return (String) JCombo.getSelectedItem();
    		
 }



}


//////////////////////////////////////////////////////////////////////////


public class Recurso{


   buscaDados(){
   
   //aqui nao sei o q faço...fiz isso e da erro:
   
   PrimeiraClasse PC = new PrimeiraClasse();
   PC.preencherCampos();
   //tenho certeza acima a lógica esta errada
   

 //aqui tem:
    String sql = " SELECT FROM XXX WHERE AAA = '"+preencherCampos+"'";

}
Entao a ideia e fazer o select com essa var q vem de outra classe.

Pessoal, espero ter sido claro e agradeço pela orientação.

Att,
Marck

Pedrosa

Receba o objeto da Classe 1 no construtor do Classe 2:

class Classe2{
   public Classe2(Classe1 classe1){
	classe1.nomeCombo.getSelectedItem();
   }

}

Obs: Essa sua combo precisa ser publica.

Marck

Olá denovo.
Pessoal, desculpem-me mas não estou conseguindo mesmo fazer... continuando o problema anterior, to fazendo assim:

public String preencherCampos(){
    	
    	rh r = new rh();
      	r.buscarDados();
    //aqui vai para a outra classe mas sem valor heueee p*
        return (String) JCombo.getSelectedItem(); 
       
       }

Consigo receber o combo JCombo na outra classe, como como vc podem perceber, quando entro no metodo buscaDados, como ele vem antes do return, eu recebo a variavel com o valor null.

Qual seria a solução? Já tentei até "enganar o compildor" :D rs...colocando umas logicas doida e nada...

Marck

Olá…
pessoal, sem querer dar up…mas e q ainda nao consegui resolver isso.

será que alguem não pode dar uma orientação??
agradeço a ajuda…

Pedrosa

Quando você da um new na sua classe de interface gráfica mata o valor da combo, tentou fazer do jeito que eu falei recebendo a classe 1 no construtor da classe 2?

Este artigo pode ser util:

http://www.guj.com.br/java.tutorial.artigo.155.1.guj

Marck

Boa noite, cara, to muito confuso, vou postar uma parte do código:

Tenho uma classe com um Janela principal chamada Rh.Dentro desta classe tenho este metodo:

public void buscarDados(){
   	
   	  	   	
   	try {
   	  String mostra="";
   	
   	  sNome  = nome.getText();
   	     	  
             //conecta a base
             conectaBase();
     
           String sql;    
           Statement s = conec.createStatement();
     
           
           sql = " SELECT * FROM Tabela_Geral"+
           " where  nome ='"+sNome+"'"; 
     
     
         ResultSet rs = s.executeQuery(sql);
         //aqui continua o codigo recebend valores e distribuindo nas                                                             Jtext

Tenho outra classe chamada Busca_Filtro que é um menu da classe anterior, Rh, com o seguinte trecho:

public void busca_Filtrada(){
  	
  	String banco_nome="";
  	String saida=""; 
  	 conectaBase();
  	 
  	 try{
  	 Statement stat = conec.createStatement();
  	 
  	 String nome = JTnome.getText();
     String sql = " SELECT * FROM Tabela_Geral WHERE nome LIKE '"+nome+"%' ORDER BY NOME ASC";
     
     ResultSet rs = stat.executeQuery(sql);
     	
     	
     	while(rs.next()){
     		
     		
     		JCombo.setVisible(true);
     		
     		banco_nome = rs.getString("nome");
     		JCombo.addItem(banco_nome);

     		}//fim while
     	         	  
     	  JBbuscar.setVisible(false);
     	 
         JBvisualizar.setVisible(true);
        //o JBvisualizar ativa o seguinte metodo:

        //aqui to fazendo do jeito que fui instruido...
        public String preencherCampos(){
    	  	
      	 Rh r = new Rh();     	
      	
       //aqui estou querendo levar a variavel preencher campos para a                   
      //classe principal (Rh) direto para o metodo busca para q o form  p           //principal seja preencido automaticamente...
      //   ou seja, Select .... where x = JCombo.getSelectedItem();
       //so q o metod buscaDados e ativado antes do return  :cry: 
        r.buscarDados();
        return (String) JCombo.getSelectedItem(); 
       
       
       }

Bom, é isso....agradeço mais uma vez pela atenção, é q isso ta tirando meu sono....hehe

valewu!!

Criado 4 de fevereiro de 2007
Ultima resposta 7 de fev. de 2007
Respostas 11
Participantes 6