Erro: Selection does not contain main type

Como vai todos?!?

Bem pessoal, sou mais um dos muitos iniciantes dessa linguagem que é nosso brinquedim de cada dia!

Bem, como todo brinquedim tem problema o meu não é diferente!

Acredito que seja algum erro de configuração, por isso que estou aqui para que possa encontrar alguém que ajude!

É o seguinte:

O erro que esta dando qdo compilo meu programa é “Selection does not contain main type” ou seja, uso Eclipse e ele esta acusando que meu projeto não possui um main sendo que possui!

Alguém sabe me informar se existe alguma solução especifica para o caso?

Muito Obrigado!

dorphosi, tudo bem ?

Coloca sua classe aqui para que possamos analisar melhor.

Abraços.

[quote=Guilherme Mello]dorphosi, tudo bem ?

Coloca sua classe aqui para que possamos analisar melhor.

Abraços.[/quote]

Pois bem!!!

Somente fiz este tutorial, igualzinho como tae!

http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=94

Não mudei nd…

Apenas criei uma outra classe denominada Principal e Instaciei a classe “Convente”

Obrigado!
Té Breve

Como eu te disse logo acima, seria interessante você colocar o código aqui para que possamos analisar melhor. Você pode achar que está tudo igual ao exemplo, mas pode existir algum detalhe que você esqueceu,

Ok então Guilherme… vou fazer isso!

Agora estou no serviço, assim que chegar em casa vou postar aki!

Agradeço muito pela ajuda!

Estou no 3º ano de Sistemas de Informação, quero fazer meu TCC encima de java, por isso quero estudar bastante esse ano a Linguagem… me aprofundar e enfiar a cabeça nos livros, acho também q aqui vai ser um lugar propício para isso!!!

Abraço!

[color=blue]Classe MenuPrincipal[/color]

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

public class MenuPrincipal extends JFrame {

JPanel panelPrincipal = new JPanel();

JTextField inteiro;
JTextField resultado;

JButton converteBin;
JButton converteHex;
JButton saida;

public MenuPrincipal(String param)
{
	setTitle(param);		
}

inteiro = new JTextField("                     ");
resultado = new JTextField("                      ");

converteBin = new JButton("to Binary");
converteHex = new JButton("to Hexa");

saida = new JButton("SAIR");

panelPrincipal.add(inteiro);

panelPrincipal.add(converteBin);
panelPrincipal.add(converteHex);

panelPrincipal.add(resultado);

panelPrincipal.add(saida);

converteBin.addActionListener(new ActionListener()
{
	public void actionPerformed(ActionEvent e)
	{
		if(inteiro.getText().trim().equals(""))
		{
			JOptionPane.showMessageDialog(panelPrincipal,"Campo em Branco!!!");
		}
		else
		{	
			int vlr1 = Integer.parseInt(inteiro.getText().trim());
			
			String numeroBin = Integer.toBinaryString(vlr1);
			resultado.setText(numeroBin);
		}
	}
}
);

converteHex.addActionListener(new ActionListener()
{
	public void actionPerformed(ActionEvent e)
	{
		if(inteiro.getText().trim().equals(""))
		{
			JOptionPane.showMessageDialog(panelPrincipal,"Campo em Branco!!!");
		}
		else
		{
			int vlr1 = Integer.parseInt(inteiro.getText().trim());
			
			String numeroHex = Integer.toHexString(vlr1);
			resultado.setTex(numeroHex.toUpperCase());				
		}
	}
}
);

saida.addAtionListener(new ActionListener()
{
	public void ActionPerformed(ActionEvent e)
	{
		System.exit(0);
	}
});

this.setContentPane(panelPrincipal);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);	

}[/code]

[color=blue]Classe Principal[/color]

public class Principal { public static void main(String args[]) { MenuPrincipal f = new MenuPrincipal("...Conversor de Binario e Hexa"); } }

Me diz uma coisa, essas duas classes estão no mesmo arquivo ?

Sim Guilherme! mais em classes separadas!

Qual é o problema?? eu costumava usar o BlueJ agora que estou usando o Eclipse, então sou leigo nessa IDE!

Me explica ae qualquer coisa!

Abraço!
Obrigado!

Dorphosi , em Java você não pode colocar duas classes public em um mesmo arquivo e a classe que você deixar como public tem que ter o mesmo nome do arquivo.

Até fiz essas alterações, mas, existia outros erros, tome cuidados com as classes internas anonimas:

saida.addActionListener(new ActionListener() {
	public void ActionPerformed(ActionEvent e) {
		System.exit(0);
	}

	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub	
	}
});

Você implementou ActionListener e esqueceu de implementar o método actionPerformed.

Você também chamou um método .setTex() quando era .setText().

Observe as mensagens do Eclipse enquento estiver digitando.

Como o Evandro1979, disse você só pode ter uma classe public por arquivo. Isso está originando o erro.

Ok então!

Vou corrigir esses erros!

Mais me diz uma coisa:

As classes não podem sem public simultanamente, como devo proceder?

Abraço!

[quote=dorphosi]Ok então!

Vou corrigir esses erros!

Mais me diz uma coisa:

As classes não podem sem public simultanamente, como devo proceder?

Abraço!
[/quote]
Se estiverem no mesmo “arquivo .java” só pode ter uma public… Se quiser ter todas como public, crie um arquivo .java para cada

Galera…

Tenho dois .java um public class em cada

acho q o erro não esta sendo esta origem…

Gostando pra caramba desse forum!
pessoal solidário… valeu a todos!

Como eu já falei, uso de duas classes públicas em um arquivo não era o único erro:

Você fechou o construtor no lugar errado public MenuPrincipal(String param)

veja a linha 69 resultado.setTex(numeroHex.toUpperCase()); deveria ser setText…

veja esse código linhas 75-81:

      saida.addAtionListener(new ActionListener()  
     {  
         public void ActionPerformed(ActionEvent e)  
         {  
             System.exit(0);  
         }  
     });  

deveria ser:

 saida.addActionListener(new ActionListener() {  
     public void ActionPerformed(ActionEvent e) {  
         System.exit(0);  
     }  
   
     public void actionPerformed(ActionEvent arg0) {  
         // Coloque o que quiser aqui.    
     }  
 });

O Eclipse te ajuda nisso, veja as mensagens enquanto digita.

Galera aconteceu um negócio aki!!!

Fiz uma rotna simples no eclipse e mesmo assim o erro persistiu!

Coloquei a mesma rotina em outra IDE e rodou de boa, então acredito q seja algo relacionado com a configuração! ou algo do tipo!

Abraço e agrdeço a tds pela atenção

[quote=dorphosi]Como vai todos?!?

Bem pessoal, sou mais um dos muitos iniciantes dessa linguagem que é nosso brinquedim de cada dia!

Bem, como todo brinquedim tem problema o meu não é diferente!

Acredito que seja algum erro de configuração, por isso que estou aqui para que possa encontrar alguém que ajude!

É o seguinte:

O erro que esta dando qdo compilo meu programa é “Selection does not contain main type” ou seja, uso Eclipse e ele esta acusando que meu projeto não possui um main sendo que possui!

Alguém sabe me informar se existe alguma solução especifica para o caso?

Muito Obrigado![/quote]

Boa noite amigo

Se você está tentando compilar o arquivo no Eclipse 3.3 o que deve estar acontecendo é que você criou o .java em local errado dentro do seu projeto, como isso? Pelo fato que a sua mensagem diz “Selection does not contain main type - seleção não contém um tipo principal”, por que quando se cria um projeto no eclipse 3.3 é gerado dentro da pasta do projeto uma pasta contendo o jre e outra com o src que deve abrigar o seu .java. Para resolver tal situação , faça o seguinte: no menu WINDOW > OPEN PERSPECTIVE > (selecione) JAVA. Fazendo isto, vá para o Package Explorer e no seu projeto (com certeza) o seu .java deve estar dentro da pasta do JRE, mova o .java para o src e tudo estará resolvido.
Agora se seu código contiver erros ai o compilador vai gritar outras mensagens de erro.

Espero ter te ajudado!

PS: me manda o seu email para eu te mandar uma tela de como é o que estou te descrevendo, pode te ajudar bem mais ainda!

Penso que sei qual problema pk ja me aconteceu:
Vc copiou o codigo com os numeros… Tem que tirar os numeros de cada linha do codigo que vc copiou.

Olá dorphosi e todos que estão procurando solução para esse “adoravel erro”…rsrsrs…No meu caso corrigi fazendo backup do codigo da classe main, delentando o arquivo. Depois criando uma nova classe com a opção dela ser a classe main . Dai soh copiei o backup por cima e resolveu.
Tá na cara que não manjo nada do eclipse (tb to começando), mais pelo menos da uma direção para o problema real (pra quem manja) e um quebra galho =) pra quem tava doido com esse erro como eu.

Abraços!!!

Boa tarde, também estou com o mesmo problema… E além disso no meu package explorer não aparece o src!
Será que alguém pode me ajudar?