Ventana

Hola !, estoy realizando mis primeros programas en Java y quiero hacer una ventana, pero al querer ejecutar el programa me dice que no tiene método. Aquí les dejo el código.
package pv;
import java.awt.Frame;
public class Main {
public class pv {
   /**
     * @param args the command line arguments
     */
public static void main(String[] args) {
        Frame f=new Frame ("Primer Ventana");
        f.setBounds(100,100,400,250);
        f.setVisible(true);
    }
        // TODO code application logic here
    }
}

4 Respuestas

Respuesta
1
Estas son las ideas:
1 única clase: PrimeraVentana (no hace falta una clase anidada dentro de una clase Main, pues cualquier clase Java puede contener un método main y ejecutarla).
2 asociar un evento al botón "x" para poder cerrar la ventana.
3 usar el JFrame de swing (los componentes gráficos están en javax. Swing).
Es más fácil que lo que has propuesto, por ejemplo fichero PrimeraVentana.java en la carpeta "pv" (es el paquete) en el directorio de fuentes.
Aquí tienes el código:
package pv;
import javax.swing.JFrame;
?
public class PrimeraVentana {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame f=new JFrame ("Primer Ventana");
f.setBounds(100,100,400,250);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// TODO code application logic here
}
}
Hola !!, tuve que colocar : public class main  {  en ves de public class primeraventana {
Si el fichero tiene nombre "PrimeraVentana.java", no tienes por qué declarar un clase de nombre "main". Tan sólo public class PrimeraVentana
La clase principal tiene que tener el mismo nombre que el fichero.
Adicionalmente, puedes tener clases anónimas o internas, si las necesitas y son aconsejables, según el nivel de acceso que necesites.
Respuesta
1
Bueno el primer error es que, bueno y no es error depende de lo que quieras hacer, pero estas metiendo una clase dentro de una clase lo más apropiado seria que dejaras solo una clase. Y lo segundo es que es mejor que extiendas de la clase JFrame por ejemplo así.
package pv;
import java.awt.Frame;
public class Main extends JFrame{
public Main(){
this.setName("Primer Ventana");
}
public static void main(String [] args){
this.setbounds(100,100,400,250);
this.setVisible(true);
}
}

Ahí creo que tendría que correr y si no corre es por errores mínimos pero las ideas son las que te dije anteriormente.
Así que espero que te funcione y las dudas pues me las puedes seguir haciendo no hay problema.
Respuesta
1
Trata de dejarlo con solamente una clase pública, intenta:
package pv;
import java.awt.Frame;
public class pv {
   /**
     * @param args the command line arguments
     */
public static void main(String[] args) {
        Frame f=new Frame ("Primer Ventana");
        f.setBounds(100,100,400,250);
        f.setVisible(true);
    }
        // TODO code application logic here
}
En JAVA, solo debes tener una clase pública por archivo, ya que así el compilador sabe donde está el método main. Y por ejemplo, si el archivo se llama pv.java la clase pública debe ser del mismo nombre y si es Main.java debes llamar a la clase pública Main.
Respuesta
1
te sobra el public class pv.
La clase que tienes que ejecutar es la main que no tiene contenido pues el método main lo has metido en la clase pv
Quita la clase pv y te funciona

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas