Java - Me ayudais con el main?

 
Vista:

Me ayudais con el main?

Publicado por SergioAB (1 intervención) el 19/12/2009 00:18:35
Hola
Antes de nada comentaros que es mi primer mensaje, pero os leo siempre muy de cerca, haceis un trabajo estupendo y sois de mucha ayuda :)

Como no, mis letras se deben a un problema que no termino de ver donde esta el error, resulta que (ya dije que soy novato) estoy experimentando con los ActionListener y actionPerformed, concretamente estoy intentando crear una simple ventana con dos botones y que con e.getSource, me reconozca de que boton viene el evento.

El caso es que al ejecutarlo me sale el siguiente error:

java.lang.NoSuchMethodError: main
Exception in thread "main"

***
// El codigo es el siguiente:

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

public class PruebaDosBotones {
JFrame ventana;
JLabel texto;
JButton botonuno;
JButton botondos;

public void PrimerEvento (){
JFrame.setDefaultLookAndFeelDecorated(true);
ventana =new JFrame ("Probando 2 Botones");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
botonuno =new JButton ("Boton numero uno");
botondos =new JButton ("Boton numero dos");
EscuchaBoton eb =new EscuchaBoton();
botonuno.addActionListener(eb);
botondos.addActionListener(eb);
texto = new JLabel ("Sin pulsar: ");
JPanel interiorventana =new JPanel (new GridLayout(0,1));
interiorventana.setBorder (
BorderFactory.createEmptyBorder(30,30,10,30));
interiorventana.add(botonuno);
interiorventana.add(botondos);
interiorventana.add(texto);
ventana.add (interiorventana, BorderLayout.CENTER);
ventana.pack();
ventana.setVisible(true);

}
public class EscuchaBoton implements ActionListener{
public void actionPerformed(ActionEvent e){
JButton virtual = (JButton)e.getSource();
if(virtual==botonuno){
System.out.println("Pulsado boton uno");
if(virtual==botondos){
System.out.println("Pulsado boton dos");
}
}
}
public void main(String[] args) {
PruebaDosBotones pdb=new PruebaDosBotones();
pdb.PrimerEvento();
}
}
}
****

Comentaros que he probado a añadir el static al main, pero ante esto Eclipse me marca el error:

"The method main cannot be declared static, static methods can only be declared in a static or top level type"

Hago notar tambien que la configuracion para la complacion esta correcta, este es el unico codigo que me da este problema, para descartar, he ejecutado codigos mas complejos recopliados de ejemplos en webs y compila sin problemas

Podeis arrojarme un poco de luz?

Gracias por vuestro trabajo y paciencia.

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Me ayudais con el main?

Publicado por jack (18 intervenciones) el 19/12/2009 01:53:38
hola SergioAB
te dire que tu aplicacion no tiene un problema grave, lo unico es que veo que tienes un problema con las llaves { }
el metodo main lo tienes dentro de el actionPerformed por esto es que te da el error tambien el if() de el botondos esta dentro de el if() del boton uno por lo cual nunca se muestra que se pulso el botondos aqui te dejo el codigo ya corregido, te aseguro que funciona ya lo probe y funciona 100%
por ultimo te dejo mi correo y msn por si me quieres enviar tus dudas

[email protected] este es mi correo y messenger talvez te parezca extraño pero se puede chatear con el asi que agregame sin problemas te deseo suerte

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

public class PruebaDosBotones {
JFrame ventana;
JLabel texto;
JButton botonuno;
JButton botondos;

public void PrimerEvento (){
JFrame.setDefaultLookAndFeelDecorated(true);
ventana =new JFrame ("Probando 2 Botones");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
botonuno =new JButton ("Boton numero uno");
botondos =new JButton ("Boton numero dos");
EscuchaBoton eb =new EscuchaBoton();
botonuno.addActionListener(eb);
botondos.addActionListener(eb);
texto = new JLabel ("Sin pulsar: ");
JPanel interiorventana =new JPanel (new GridLayout(0,1));
interiorventana.setBorder (
BorderFactory.createEmptyBorder(30,30,10,30));
interiorventana.add(botonuno);
interiorventana.add(botondos);
interiorventana.add(texto);
ventana.add (interiorventana, BorderLayout.CENTER);
ventana.pack();
ventana.setVisible(true);

}
public class EscuchaBoton implements ActionListener{
public void actionPerformed(ActionEvent e){
JButton virtual = (JButton)e.getSource();
if(virtual==botonuno){
System.out.println("Pulsado boton uno");
}
if(virtual==botondos){
System.out.println("Pulsado boton dos");
}
}

}

public static void main(String args []) {
PruebaDosBotones pdb=new PruebaDosBotones();
pdb.PrimerEvento();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Me ayudais con el main?

Publicado por SergioAB (1 intervención) el 19/12/2009 02:44:06
Muchas gracias jack, asi da gusto entrar en una comunidad, mi correo, que tengo especifico para estas cosas es [email protected], tomo nota del tuyo.
Ahora mismo estoy escribiendo desde me G1, en cuanto me siente ante el ordenador pongo en marcha el listado... que me estaba volviendo loco!
Reitero mi agradecimiento y un saludo compi ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar