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
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


0