Como instanciar?

4 respostas
M

E ai gente blz?!
Como eu faço pra instaciar um método através de um “objeto”, tipo assim, quero declarar um atributo do tipo de um método, não sei se estou sendo claro no que quero mas no código abaixo vocês vão entender…

Quero fazer isso pra utilizar o construtor somente pra instanciar objetos e não fazer o código dentro dele.

Obrigado pela resposta

package Inter;

import javax.swing.<em>;

import java.awt.</em>;

public class Interfac extends JFrame{

public void janela(){
	String nome = "teste";
	JButton botao = new JButton(nome);
	JFrame paine = new JFrame();
	paine.add(botao);

// setContentPane(paine);
}

public Interfac() {
	// constructor 
	janela jan = new janela();
}

public static void main(String[] args) {
	//main

    Interfac a = new Interfac();  //objeto da classe Interfac.
    a.jan();                              // objeto chamando método... .
    System.exit(0);
}

}
8O

4 Respostas

L

que?!?

definitivamente naum foi hehe

olha pelo que entendi, vc quer instanciar um metodo a partir do construtor?!! mas fazer isso ai?!?! new serve para classes naum para metodos, vc da new class naum new metodo

janela jan = new janela&#40;&#41;;

onde vc viu que isso funciona?!?! naum seria isso que vc quer fazer:

public Interfac&#40;&#41; &#123;
  janela&#40;&#41;;
&#125;

flw![/quote]

J

Entendi pouco do que você está querendo...

Mas seria por acaso Closure?

Tipo como você pode fazer com javascript:

function funcao&#40;&#41;&#123;
   alert&#40;'teste'&#41;;
&#125;

var v1 = funcao;

Só que isso não existe em Java, há rumores de uma possivel implementação disso:

http://www.javafree.org/javabb/viewtopic.jbb?t=858199

Mas não é nada oficial, nao existe nem uma JSR ainda.

M

ok, entendi mas o queria saber se existe é um jeito de fazer essa parte de interface grafica fora do construtor, por exemplo :
quero somar 2 numeros, então faco um método,

public int soma(int x, int y){

return (x + y);

}

esse método pode ficar fora do construtor certo?!,agora eu quero fazer uma caxinha onde esses numeros seram digitados, essa caxinha terá de ser feita dentro do construtor?

E dentro do construtor eu devo chamar esse métdo soma?

J

Você faz do jeito que você quiser.

É só você chamar os metodos depois:

public class Interface extends JFrame&#123;
   public Interface&#40;&#41;&#123;

   &#125;

   public void montar&#40;&#41;&#123;
       getContentPane&#40;&#41;.add&#40;new JLabel&#40;&quot;teste&quot;&#41;&#41;;
       pack&#40;&#41;;
       setVisible&#40;true&#41;;
   &#125;
&#125;

Interface inter = new Interface&#40;&#41;;
inter.montar&#40;&#41;;
Criado 21 de outubro de 2006
Ultima resposta 22 de out. de 2006
Respostas 4
Participantes 3