Duvidas e Ajuda

Opa.
Tem programa que eu faço que rodam uma beleza, tem outros que dao esse aviso:
Exception in thread “main” java.lang.NoSuchMethodError: main
Porque??
Como Solucionar??
Agradeço desde ja.

Cadê o método main nesses seus outros programas?Pois ele naum estah lah… :wink:

:scrambleup: Na verdade, o que a classe que você está tentando executar não tem é um método main que siga as exigências para que sua classe seja executável.

:arrow: Você pode ter:

public void main (String[] args)

ou

public static void main (String args)

e sua classe vai compilar normal, só não vai rodar como uma main class pois não tem um método main com a assinatura correta para que a classe possa ser executada. Essas duas assinaturas aí em cima fazem com que esse método main seja um método comum e não O MÉTODO main.

As assinaturas válidas de main para tornar a classe executável são:

public static void main(String[] args) e suas variações válidas (trocar a ordem de static e public ou trocar o nome do argumento args)

Se ainda não conseguiu posta o código aí pra gente dar uma olhada

Valeu Galerinha…
Era uma duvida minha.
Sou iniciante em Java, to aprendendo na faculdade.
Acho Java uma linguagem bem interessante e estou disposto a aprende-la sozinho, pois não tenho $$$ para um curso.
Falando em faculdade, tenho um trabalho integrado para entregar, e o meu grupo esta falando sobre Segurança de Condominio, estou entando montar um programinha que faça o cadastros das pessoas que entram.
O codigo do meu programinha tah assim:(tah simples mas tah valendo)

import java.awt.;
import javax.swing.
;
import java.awt.event.*;

public class cadastro

{
static JFrame janela = new JFrame(“Shoxy´s Seguança de Condominios”);
public static void main(String args[])

{
	janela.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	FlowLayout flow = new FlowLayout();
	Container caixa = janela.getContentPane();
	caixa.setLayout(flow);
	janela.setVisible(true);
			
	JLabel lbLabel01 = new JLabel("Nome: ");
	caixa.add(lbLabel01);
	
	JTextField nom = new JTextField( 25 );
	caixa.add(nom);
			
	JRadioButton visitante = new JRadioButton("Visitante");
	JRadioButton morador = new JRadioButton("Morador");
	caixa.add(visitante);
	caixa.add(morador);
	
	
	
	JLabel lbLabel02 = new JLabel("Rg. :");
	caixa.add(lbLabel02);
	
	JTextField reg = new JTextField( 8 );
	JLabel tra = new JLabel("-");
	JTextField dig = new JTextField( 1 );
	caixa.add(reg);
	caixa.add(tra);
	caixa.add(dig);
	
	
	
	JLabel lbLabel03 = new JLabel("Endereço: ");
	JTextField end = new JTextField(30);
	caixa.add(lbLabel03);
	caixa.add(end);
	
	
	JLabel lbLabel04 = new JLabel("CEP: ");
	JTextField cep = new JTextField( 5 );
	JLabel tras = new JLabel("-");
	JTextField cepp = new JTextField( 3 );
	caixa.add(lbLabel04);
	caixa.add(cep);
	caixa.add(tras);
	caixa.add(cepp);
	
	JLabel lbLabel05 = new JLabel("Horario de Entrada: ");
	JLabel lbLabel06 = new JLabel("Apartamento: ");
	JTextField ent = new JTextField( 5 );
	JTextField apt = new JTextField( 5 );
	caixa.add(lbLabel05);
	caixa.add(ent);
	caixa.add(lbLabel06);
	caixa.add(apt);
			
	
	JButton btok = new JButton(" Cadastrar ");
	JButton btcancel = new JButton(" Apagar Cadastro ");
	caixa.add(btok);
	caixa.add(btcancel);
	
	
	
		
}

}

aceito sugestoes para o mesmo
Agradeço desde ja.

ponha um método main() como o martui lhe explicou e crie uma instância da sua classe(uma ocorrencia em memoria dela) lá…por ex:
…main(String[] args){
new Cadastro(); }
:wink:

Poxa, Desculpa minha ignorancia mas aonde eu coloco isso???Para que serve???
Valew

Cara,foi mal…eu não vi q tinha um método main aí no meio escondido!
Pelo q eu estou vendo,tah faltando vc setar o tamanho do frame!Por ex.:
janela.setSize(700,150);
cara,esse seu código tah criando tudo dentro do main…
Vc tem q tomar cuidado com os gerenciadores de Layout,para ver se lhe atendem(to vendo um monte de comp num FlowLayout se vc errar o tam-o tam q eu pûs é um mero chute!-os componentes ficarão bagunçados na tela se esse gerenciador não servir!-classe começa com maiúscula!
olha uma modificada rápida e tenta entender:

[code]
import java.awt.;
import javax.swing.
;
import java.awt.event.*;

public class Cadastro{

JFrame janela;

public Cadastro(){
exibirTela();//quando uma instancia for criada,esse metodo sera chamado!
}

public Container organizaComponentes(){
FlowLayout flow = new FlowLayout();
Container caixa = janela.getContentPane();
caixa.setLayout(flow);

JLabel lbLabel01 = new JLabel("Nome: ");
caixa.add(lbLabel01);

JTextField nom = new JTextField( 25 );
caixa.add(nom);

JRadioButton visitante = new JRadioButton(“Visitante”);
JRadioButton morador = new JRadioButton(“Morador”);
caixa.add(visitante);
caixa.add(morador);

JLabel lbLabel02 = new JLabel(“Rg. :”);
caixa.add(lbLabel02);

JTextField reg = new JTextField( 8 );
JLabel tra = new JLabel("-");
JTextField dig = new JTextField( 1 );
caixa.add(reg);
caixa.add(tra);
caixa.add(dig);

JLabel lbLabel03 = new JLabel("Endereço: ");
JTextField end = new JTextField(30);
caixa.add(lbLabel03);
caixa.add(end);

JLabel lbLabel04 = new JLabel(“CEP: “);
JTextField cep = new JTextField( 5 );
JLabel tras = new JLabel(”-”);
JTextField cepp = new JTextField( 3 );
caixa.add(lbLabel04);
caixa.add(cep);
caixa.add(tras);
caixa.add(cepp);

JLabel lbLabel05 = new JLabel("Horario de Entrada: ");
JLabel lbLabel06 = new JLabel("Apartamento: ");
JTextField ent = new JTextField( 5 );
JTextField apt = new JTextField( 5 );
caixa.add(lbLabel05);
caixa.add(ent);
caixa.add(lbLabel06);
caixa.add(apt);

JButton btok = new JButton(" Cadastrar “);
JButton btcancel = new JButton(” Apagar Cadastro ");
caixa.add(btok);
caixa.add(btcancel);

return caixa;
}

public void exibirTela(){
janela = new JFrame(“Shoxy´s Seguança de Condominios”);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

janela.setContentPane(this.organizaComponentes());
janela.setSize(700,150);
//centraliza o frame na tela
janela.setLocationRelativeTo(null);
//mostra a janela.
janela.setVisible(true);

}

public static void main(String args[]) {
new Cadastro();//cria uma instancia da classe em memoria
}
}[/code]

Leia os tutoriais do Guj,daqui:


e daqui:
http://java.blogger.com.br/
Se ler 80% deles e dominar a metade do q leu,parabéns,nem eu consegui! :smiley: (huhauah)
Brincadeiras á parte,estude cara,com esses links q te passei jah dah para brincar legal com java! :wink:

serve pra deixar teu código mais organizado…

Ironlynx,
Muito obrigado pela sua ajuda, to lendo a forma modificada e to entendendo.
Aos pouco eu chego lá.
Valew.