Eclipse não encontra classe main

6 respostas
M

Tenho o seguinte código:

package componentes.vizuais;
import javax.swing.*;

public class teste extends JFrame {
	
	public teste(){
		super("Teste");
		JFrame frm = new JFrame("Teste");
		xTextField txt = new xTextField();
		frm.getContentPane().add(txt);
	}

	public static void main(String args[]){
		new teste().setVisible(true);
	}
}

Quando vou compilar no eclpise, ele não encontra a classe main. Como pode ser ver, tenho uma classe dentro de um apacote (componentes.vizuais). Será por causa disso?

Bem, o q q ta acontecendo que naum encontro a dita main?

6 Respostas

B

Ola,

Clique com o butao direito do mouse e run-> java application…

H

Tente colocar dentro do main assim:

teste a = new teste(); a.setVisible(true);

falows!

M

O erro continua. O erro não está na classe main em si, mas na estrutura (creio eu).

Eu tenho um pacote em componentes.visuais, onde eu tenho a classe xTextField (que é extendida de jTextField). depois eu chamo ela. Qunado eu compilo, o erro persiste, ele não encontra a minha classe main…estou quase jogando o pc pela janela…

M

Bem, como vc's perceberam, eu estou tentando criar um componente texto extendido de JTextField, e depois chama-lo em um frame. Bem, fiz um outro teste e consegui fazer o eclipse encontrar a classe main, mas quando compilo aparece o seguinte erro.

Exception in thread "main" java.lang.StackOverflowError
	at java.util.WeakHashMap.expungeStaleEntries(Unknown Source)
	at java.util.WeakHashMap.getTable(Unknown Source)
	at java.util.WeakHashMap.get(Unknown Source)
	at java.util.Collections$SynchronizedMap.get(Unknown Source)
	at javax.swing.text.StyleContext.getImmutableUniqueSet(Unknown Source)
	at javax.swing.text.StyleContext.addAttributes(Unknown Source)
	at javax.swing.text.AbstractDocument$AbstractElement.addAttributes(Unknown Source)
	at javax.swing.text.AbstractDocument$AbstractElement.<init>(Unknown Source)
	at javax.swing.text.AbstractDocument$LeafElement.<init>(Unknown Source)
	at javax.swing.text.AbstractDocument$BidiElement.<init>(Unknown Source)
	at javax.swing.text.AbstractDocument.<init>(Unknown Source)
	at javax.swing.text.AbstractDocument.<init>(Unknown Source)
	at javax.swing.text.PlainDocument.<init>(Unknown Source)
	at javax.swing.text.PlainDocument.<init>(Unknown Source)
	at javax.swing.text.DefaultEditorKit.createDefaultDocument(Unknown Source)
	at javax.swing.plaf.basic.BasicTextUI.installUI(Unknown Source)
	at javax.swing.plaf.basic.BasicTextFieldUI.installUI(Unknown Source)
	at javax.swing.JComponent.setUI(Unknown Source)
	at javax.swing.text.JTextComponent.setUI(Unknown Source)
	at javax.swing.text.JTextComponent.updateUI(Unknown Source)
	at javax.swing.text.JTextComponent.<init>(Unknown Source)
	at javax.swing.JTextField.<init>(Unknown Source)
	at javax.swing.JTextField.<init>(Unknown Source)
	at componentes.vizu.Text.<init>(Text.java:7)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
	at componentes.vizu.Text.<init>(Text.java:8)
        .
        .
        .
	at componentes.vizu.Text.<init>(Text.java:8)

O código do pacote onde eu tenho o componente extendido é este.

package componentes.vizu;
import javax.swing.*;

import java.awt.Color;

public class Text extends JTextField{
	public Text(){
	   new Text().setBackground(new Color(204,204,204));
	}
}

e o código onde eu chamo esta classe e onde tem a classe main é este:

import componentes.vizu.Text;
import javax.swing.*;

public class TestePrinc extends JFrame{
	public TestePrinc(){
		super("Teste Comp");
		Text t = new Text();
		this.getContentPane().add(t);
		
		
	}
	public static void main(String args[]){
		TestePrinc a = new TestePrinc();
		a.setVisible(true);
	}

}
B

Ola,

Bom, dentro do construtor do Text vc tá o instanciando novamente… isto gera um loop infinito… e tem hora que da falha na pilha de execução…

Tire o new Text do construtor dele… e simplismente set o background…

M

“BrunoCarlo”:
Ola,

Bom, dentro do construtor do Text vc tá o instanciando novamente… isto gera um loop infinito… e tem hora que da falha na pilha de execução…

Tire o new Text do construtor dele… e simplismente set o background…

E num é q é memo.

vlw :grin:

Criado 29 de julho de 2006
Ultima resposta 1 de ago. de 2006
Respostas 6
Participantes 3