Meu Primeiro formulário - Erro main!?

Boa noite pessoal,sou novo em java…tipo estou no básico do básico…mas muita vontade de aprender.

Tenho uma pequena dúvida na criação do meu primeiro formulário;

import java.awt.*;
import javax.swing.*;
class form_vazio  extends JFrame
 {
     form_vazio()
     {
         setTitle ("Meu Primeiro formulário");
         setSize (800,600);
     }

     public static void main (String args[])
     {
           JFrame janela = new form_vazio();
           janela.show();
}

Ele compila tudo certinho mas na hora de executar ele da este erro;

java.lang.NoSuchMethodError: main

Ok já fui no google e aqui no forum inclusive,em todos os lugares dizem que e porque falta o “main” ,mas não no meu caso.

Se tiverem uma dica de resolução postem aí ok.

Abraços!!

Ola amigo

No seu codigo falta um fechamento de chave.

Fiz o teste com seu fonte e fechei uma chave e deu certo.

É falta fechar a chave da main

vc só esta fechando a chave da classe no final

Programa em Delphi ou .Net? Essa abertura e fechamento de chaves… aiuhaiuhahu

É isso aí que os amigos falaram em cima. Fecha a chave do método que vai dar certo.

Abraços,

[code] import java.awt.;
import javax.swing.
;
class form_vazio extends JFrame
{
form_vazio()
{
setTitle (“Meu Primeiro formulário”);
setSize (800,600);
}

  public static void main (String args[])  
  {  
        JFrame janela = new form_vazio();  
        janela.show();  
  }

} [/code]
Compilei e rodei o código acima e a janela apareceu :smiley:

Bom Dia a todos,Obrigado pelas respostas.
Realmente estava faltando fechar a chave,falta de atenção minha.

Ok troquei a chave,fiz a compilação e aparareceu um erro : show() ,

Então subistitui por este,conforme consta na documetação;

janela.setVisible(true);

Ok,compilei e deu certo,mas…eu quis implementar mais coisas no formulário…

import java.awt.*;
import javax.swing.*;
class form_vazio  extends JFrame
{
     form_vazio()
      {
          setTitle ("Meu Primeiro formulário");
          setSize (800,600);
          setLocation(1,1);
          setResizable(false);
          getContentPane() .setBackground(color.red);
      }

      public static void main (String args[])
      {
            JFrame janela = new form_vazio();
            janela.setVisible(true);  }
}

Ele faz a compilação mas retorna este erro : getContentPane() .setBackground(color.red);

A tela do formulário aparece,mas não a cor.

Alguma dica…

Substitui

getContentPane().setBackground(color.red);

Por

getContentPane().setBackground(Color.RED);

Abraços!

ajfilho Muito obrigado…perfeito.

Agora implementei um fechamento,pois quando fecho o formulário ele ainda fica executando.

import java.awt.*;
import javax.swing.*;
class form_vazio  extends JFrame
{
     form_vazio()
      {
          setTitle ("Meu Primeiro formulário");
          setSize (800,600);
          setLocation(1,1);
          setResizable(false);
          getContentPane().setBackground(Color.BLUE);
          setDefautCloseOperation(JFrame.EXIT_ON_CLOSE);
      }

      public static void main (String args[])
      {
            JFrame janela = new form_vazio();
            janela.setVisible(true);  }
}

Só que apareçe este erro na compilação: setDefautCloseOperation(JFrame.EXIT_ON_CLOSE);

Tem algum erro aí ?

Erro de digitação:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Faltando o l no DEFAULT.

Abraços,

pimenta brigadão…perfeito.

Abraços!!

Aproveitando a deixa…tenho outra dúvida em relação a este “projeto” ;

Este programa mostra na tela um determinado mês,correspondente ao número digitado na caixa de dialogo,que aparece quando o programa e executado…sem utilidade…só pra didatica mesmo ok.

import javax.swing.JOptionPane;
class qual_mes2
{
  public static void main (String args[])
    {
      int mes = 10;
      String ler_mes;
 
       {

            ler_mes = JOptionPane.showInputDialog("Entre com o valor");
  
              if(mes == 1)
            JOptionPane.showMessageDialog(null,"Janeiro");
              else if(mes == 2)
            JOptionPane.showMessageDialog(null,"Fevereiro");
              else if(mes == 3)
            JOptionPane.showMessageDialog(null,"Março");
              else if(mes == 4)
            JOptionPane.showMessageDialog(null,"Abril");
              else if(mes == 5)
            JOptionPane.showMessageDialog(null,"Maio");
              else if(mes == 6)
            JOptionPane.showMessageDialog(null,"Junho");
              else if(mes == 7)
            JOptionPane.showMessageDialog(null,"Julho");
              else if(mes == 8)
            JOptionPane.showMessageDialog(null,"Agosto");
              else if(mes == 9)
            JOptionPane.showMessageDialog(null,"setembro");
              else if(mes == 10)
            JOptionPane.showMessageDialog(null,"outubro");
              else if(mes == 11)
            JOptionPane.showMessageDialog(null,"novembro");
               else if(mes == 12)
            JOptionPane.showMessageDialog(null,"dezembro");

      }
    }
}

Quando o programa e executado aparece a janelinha pedindo para inserir um valor,mas o problema e que eu estava “setando” o mês que eu queria que aparecesse na tela…Mas agora quero que o mês apareça na tela seja correspondente ao número digitado no inicio do programa ok.

então modifiquei esta linha;

int mes = 10;

por este;

int mes = ""; 

Mas não resolveu,da um erro na compilação aqui: int mes = “”;

Alguma dica para a resolução…

int não coloca espaço vazio ("") pois isso é em String. Coloque int mes = 0;
Ou então defina a variável antes do método, no escopo, como “int mes;”

Assim…

Tentei com este;

   1. int mes=0;  

Ok.compilou sem erros…Aparece a tela para inserir um número,mas só isso…não aparece o mês correspondente.

E com este;

int mes = null; 

Dá um erro de compilação; null;

Qual foi meu erro dessa vez…

Poderia me esclarecer melhor isto defina a variável antes do método, no escopo, como “int mes;” ?

Dê uma olhada agora!!

[code]import javax.swing.JOptionPane;

class qual_mes2 {

public static void main(String args[]) {
    String ler_mes;
    {
        ler_mes = JOptionPane.showInputDialog("Entre com o valor");
        int valor = Integer.parseInt(ler_mes);
        if (valor == 1) {
            JOptionPane.showMessageDialog(null, "Janeiro");
        } else if (valor == 2) {
            JOptionPane.showMessageDialog(null, "Fevereiro");
        } else if (valor == 3) {
            JOptionPane.showMessageDialog(null, "Março");
        } else if (valor == 4) {
            JOptionPane.showMessageDialog(null, "Abril");
        } else if (valor == 5) {
            JOptionPane.showMessageDialog(null, "Maio");
        } else if (valor == 6) {
            JOptionPane.showMessageDialog(null, "Junho");
        } else if (valor == 7) {
            JOptionPane.showMessageDialog(null, "Julho");
        } else if (valor == 8) {
            JOptionPane.showMessageDialog(null, "Agosto");
        } else if (valor == 9) {
            JOptionPane.showMessageDialog(null, "setembro");
        } else if (valor == 10) {
            JOptionPane.showMessageDialog(null, "outubro");
        } else if (valor == 11) {
            JOptionPane.showMessageDialog(null, "novembro");
        } else if (valor == 12) {
            JOptionPane.showMessageDialog(null, "dezembro");
        } else {
            JOptionPane.showMessageDialog(null, "mês inválido ou inexistente!");
        }
    }
}

}[/code]

Abraços!

Você está setando valor na variável ler_mes, e não na variável mes.

ajfilho Quebrei a cabeça e consegui,só agora que fui olhar a sua postagem,Obrigado.Ela FUNCIONA sim,só não fecha essa parte: JOptionPane.showMessageDialog(null, “mês inválido ou inexistente!”);

Mas resolvi assim;

import javax.swing.JOptionPane;
class qual_mes2
{
  public static void main (String args[])
    {
      String mes = JOptionPane.showInputDialog("Digite o mês");

       {

              if(mes.equals("1"))
            JOptionPane.showMessageDialog(null,"Janeiro");
              else if(mes.equals("2"))
            JOptionPane.showMessageDialog(null,"Fevereiro");
              else if(mes.equals("3"))
            JOptionPane.showMessageDialog(null,"Março");
              else if(mes.equals("4"))
            JOptionPane.showMessageDialog(null,"Abril");
              else if(mes.equals("5"))
            JOptionPane.showMessageDialog(null,"Maio");
              else if(mes.equals("6"))
            JOptionPane.showMessageDialog(null,"Junho");
              else if(mes.equals("7"))
            JOptionPane.showMessageDialog(null,"Julho");
              else if(mes.equals("8"))
            JOptionPane.showMessageDialog(null,"Agosto");
              else if(mes.equals("9"))
            JOptionPane.showMessageDialog(null,"Setembro");
              else if(mes.equals("10"))
            JOptionPane.showMessageDialog(null,"Outubro");
              else if(mes.equals("11"))
            JOptionPane.showMessageDialog(null,"Novembro");
               else if(mes.equals("12"))
            JOptionPane.showMessageDialog(null,"Dezembro"); 

            Default:JOptionPane.showMessageDialog(null,"Mês Inexistente");
      }
    }

Ficou ótimo.Claro,e um programa sem utilidade,mas muito importante pra minha ditatica…e…é muito bom fazer um programa funcionar,do jeito que vc quer,do jeito que vc planejou…rsrsrs…mesmo que não se tenha feito tudo sozinho…e muito bom.

Abraços e obrigado pela paciência.