Problemas com o main e o construtor

8 respostas
Heero

estou com um problema estou precisando utilizar um bloco de codigo que está dentro do main da outra classe (por exemplo estou na classe Y e preciso ir pra classe X, e quando eu estiver nessa classe X eu executar o main dela), quando eu chamo a janela

Jogo tJogo = new Jogo();

tJogo.setVisible(true);

this.setVisible(false);

1-ele não executa o main, certo?
2-como que eu faço pra ele excutar o main da classe?

obrigado!

8 Respostas

danieldestro

Isso está meio confuso.

Suponho que vc está querendo saber como o método main( ) executa, certo?

Se a sua classe A possui o método:
public static void main( String[] args ) {}

o método será executado se vc mandar rodar o programa pela classe:

java A
cariocathi

Boa idéia, nunca tentei chamar o main de outra classe mas pela lógica vc poderia xamar OutraClasse.main( null ); por exemplo

B

Acho que seria mais interessante a classe ter um método onde seria chamado a janela, como

public void showFrame(){} onde você terá o código que chamará a janela. Daí essa mesma classe tem no main uma chamada ao método showFrame(). Então quando você for precisar exibir uma janela através de outra classe é só chamar o método ao invés do main.

Gustavo Guilherme BacK

Heero
Jogo tJogo = new Jogo();

tJogo.main(null);

this.setVisible(false);

isso aki funcionou , porem ele não chamou o construtor…
ele soh executou o main…
alguem tem alguma ideia?

pergunta basica… , mas interessante…
o main , soh executa uma vez? ou ele esta sempre em execucao? idependente de lacos…

cariocathi

enquanto o seu programa está executando, ele está no método main, ao chegar ao final do método main o programa acaba, a não ser q tenha uma tela a parte q executa o main e daí a fainalização do programa fica a cargo do programador.

Heero

minha duvida eh mais na parte de thread, por isso q eu fiquei com essa duvida, se eu tenho uma thread estartada num metodo da classe, ele irá executar o main tbm(no caso dentro desse main tem coisas para serem feitas), os dois estarão executando simultaneamente?

cv1

Dá pra fazer, mas nao quer dizer que seja uma boa ideia… isso vai totalmente contra a orientacao a objetos :frowning:

O unico uso que eu vejo pra isso eh executar um programa diferente na mesma VM… mas, mesmo assim, nao eh tao simples: voce tem que abrir o “programa filho” em outro ClassLoader, senao vai acontecer uma baita confusao com os singletons e statics…

cariocathi

não havia pensado, nisso…
o q seria realmente um problemão( ou não )… :!:

Criado 1 de novembro de 2003
Ultima resposta 2 de nov. de 2003
Respostas 8
Participantes 5