Foros del Web » Programación para mayores de 30 ;) » Java »

Java + Swing basico

Estas en el tema de Java + Swing basico en el foro de Java en Foros del Web. La semana pasada estuve compilando mis primeras GUI con awt. Esta semana empiezo con SWING. Pero todavía no tengo madurez en JAVA como para entender ...
  #1 (permalink)  
Antiguo 23/05/2010, 10:06
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Java + Swing basico

La semana pasada estuve compilando mis primeras GUI con awt. Esta semana empiezo con SWING. Pero todavía no tengo madurez en JAVA como para entender como funciona la clase que extiende a JFrame:

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

public class SwingBasico2 extends JFrame {

public static void main(String args[]) {
new SwingBasico2();
}
SwingBasico2() {
JLabel jlbHelloWorld = new JLabel("Hello World");
add(jlbHelloWorld);
this.setSize(100, 100);
// pack();
setVisible(true);
}
}
Por que este metodo tiene que llamarse igual que la clase? SwingBasico2() {}

De otra manera no compila. Tiene que ver con los constructores? Si es así, cual es la relación entre main y los constructores?
  #2 (permalink)  
Antiguo 23/05/2010, 14:22
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 16 años
Puntos: 3
Respuesta: Java + Swing basico

hola mayid, de hecho si!!!, tu metodo SwingBasico2() {} es el constructor de tu clase.

la relacion entre el main y los constructores es:

un constructor es un conjunto de instrucciones diseñadas para inicializar una instancia, y en el main es donde creas la instancia de tu clase

espero te sirva esto, saludos
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #3 (permalink)  
Antiguo 23/05/2010, 14:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Java + Swing basico

Hola! Gracias!

Creo entender. En este caso, al ser un programa básico, de una sola clase, necesito inicializar la clase desde algún lugar. Y ese lugar es el main. De otra manera, si tuviese una segunda clase, podría inicializar la primera desde ahí, sin necesidad de declarar nada en el main primero.

Tengo otra duda ahora. Es sobre el hecho de que existan clases anidadas. El ejemplo sería el mismo que publiqué, pero siendo así:
Cita:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ClaseMadre {

public class SwingBasico2 extends JFrame {

public static void main(String args[]) {}

SwingBasico2() {
JLabel jlbHelloWorld = new JLabel("Hello World");
add(jlbHelloWorld);
this.setSize(100, 100);
// pack();
setVisible(true);
}
}

}
En ese caso, la clase secundaria necesita de un main? Aún cuando está extendiendo a JFrame?
  #4 (permalink)  
Antiguo 23/05/2010, 16:38
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 16 años
Puntos: 3
Respuesta: Java + Swing basico

no puedes hacer clases anidadas, puedes hacer inner clases

siempre vas a necesitar un main que haga una instancia de tu clase principal para que pueda correr tu aplicacion
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #5 (permalink)  
Antiguo 23/05/2010, 16:55
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Java + Swing basico

Muchas gracias por el enlace y la aclaración!

Etiquetas: basico, swing
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:40.