Preciso de ajuda com ações e botões

10 respostas
Shinobi

Boa noite,
tenho um programa pra fazer como trabalho de colégio, e gostaria de complementá-lo com botões… o programa deve mostrar os assentos de um onibus e marcá-los com X quando forem vendido…
quando compilo, ele não encontra erros no código, mas quando vou executar, ele me retorna o seguinte erro:

Exception in thread “main” java.lang.NoSuchMethodError: main

gostaria de saber como solucionar estre inconveniente…
se quiserem o código pra dah uma olhada, eu posso passa pelo msn… [email removido]

valeu pela ajuda antecipadamente

;D

10 Respostas

Deh

tem algum problema com o seu “public static void main(String args[]){}”
da uma verificada nele(se existir!), pois ele não consegue encontrar um “main” na execução…

Shinobi

pow… ñ consegui nada =/
se vc pudesse ver o código, e tentar me dah uma ajuda, ficaria mto agradecido
abraços

Shinobi

e a propósito, eu tenho a estrutuca public void main(String args[]){}, mas só que ela ñ pode ser static, pq ele dah vários erros como esse:

C:\Documents and Settings\Samuel\Desktop\backup.java:233: non-static variable Preco cannot be referenced from a static context JLabel Corredor=new JLabel("Corredor: "+Preco);

Kknd

Posta o código aqui, ou pelo menos a main dele!

Shinobi
esse é o código...
import javax.swing.*; //importa os "J"
import java.awt.*;    //importa o "Grid Layout"
import java.awt.event.*; //as parada de evento nus butão

class Buzao implements ActionListener{
	//declaração de variáveis
	double Preco=0,TotV=0;
	int i;
	//JButton jButton<numero do botão>=new JButton("numero do banco");
	JButton jButton1=new JButton("1");
	...
	JButton jButton40=new JButton("40");
	JButton Sair=new JButton("Sair");

	//pega o preço da passagem
	public Buzao(){
		do{
			Preco=Double.parseDouble(JOptionPane.showInputDialog(null,"Entre com o preco da passagem"));
		}while(Preco<0);
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==jButton1){
			jButton1=new JButton("X");
			TotV=TotV+Preco;
		}
		...
		if(e.getSource()==jButton40){
			jButton40=new JButton("X");
			TotV=TotV+(Preco*1.025);
		}
	}

	public void main(String args[]){
		do{

			//Cria as labels com o preço

			JLabel Lbl1=new JLabel("Tabela de Preços");
			JLabel Corredor=new JLabel("Corredor: "+Preco);
			JLabel Janela=new JLabel("Janela: "+(Preco+(((Preco)/100)*2.5)));
			JLabel LblTotV=new JLabel("Total de Vendas:" +TotV);

			//Cria os painéis de preço(pp) e de banco(pb)

			JPanel pp=new JPanel();
			JPanel pb1=new JPanel();
			JPanel pb2=new JPanel();
			JPanel pTotV=new JPanel();

			pp.setLayout(new GridLayout(1,3));  //cria o "tamanho" do pp
			pp.add(Lbl1);
			pp.add(Corredor);
			pp.add(Janela);

			pb1.setLayout(new GridLayout(10,2));
			pb1.add(jButton1);
			...			pb1.add(jButton38);

			pb2.setLayout(new GridLayout(10,2));
			...
			pb2.add(jButton39);

			pTotV.setLayout(new GridLayout(1,1));
			pTotV.add(LblTotV);

			JOptionPane.showMessageDialog(null,pp);
			JOptionPane.showMessageDialog(null,"Qual Banco desejá Utilizar?"+pb1+"\n"+pb2+"\n"+pTotV);
			i=i+1;
			}while(i<40);
		System.exit(0);
	}
}

onde tem "..." no código eu colokei só pra evitar a repetição

Deh

para executar um programa você precisa de um exatamente “public static void main(String[] args){}”
a chamada de variaveis não estáticas…
você pode criar um método “getPreco()” por exemplo que retorne o seu preço…
ou setar a variavel Preco como static…

conseguiu me entender? =P

Shinobi

entendi mto poko… tem como vc me mostrar oq eu tnho q mudar direto no código?

Deh

assim vou dar um exemplo

public class Test {
     int Preco = 0;
     static int Preco2 = 0; 

     public int getPreco(){
          return Preco; 
     } 

     public static void main(String[] args){

          // System.out.println("" + Preco); isso dá erro! Preco não é static..
          System.out.println("" + Preco2); // mas Preco2 é static =D então funciona
          
          Test t = new Test();
          System.out.println("" + t.getPreco()); //consegui pegar a variavel Preco que não era static... e que eu não podia colocar direto no código... 
 
     }
}

então, resumindo
int Preco, não é static, então eu posso pegar ela usando um método"getPreco()" como no exemplo ali em cima…

ou colocando Preco como static “static int Preco2”
agora consegui ser mais claro? =P

Shinobi

ixi cara
to ficando um pouco confuso e não to “evoluindo muito”
:T

se não for abuso [mais… =P]
da uma olhada no anexo
e ve o que ta errado :?

desde já
valew mesmo… ;D

Deh

cara, só de olhar por cima o.o’
não teria sido melhor criar uma matriz de JButton?
você criou 40 JButton na mão =S
e como no onibus tem duas fileiras, seria melhor criar uma matriz…
seria mais fácil para trabalhar assim o.O’

Criado 9 de novembro de 2006
Ultima resposta 9 de nov. de 2006
Respostas 10
Participantes 3