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…
: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(); }
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! (huhauah)
Brincadeiras á parte,estude cara,com esses links q te passei jah dah para brincar legal com java!
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.