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

JLabel

Estas en el tema de JLabel en el foro de Java en Foros del Web. Código: package yohen; import javax.swing.*; import java.awt.*; import javax.swing.event.*; /** * * @author Edison Jair Lizcano */ public class Main { public static void main(String[] ...
  #1 (permalink)  
Antiguo 24/12/2008, 22:15
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 16 años, 6 meses
Puntos: 53
Exclamación JLabel

Código:
package yohen;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;

/**
 *
 * @author Edison Jair Lizcano
 */

public class Main {

    public static void main(String[] args) {
        
        JFrame ventana = new JFrame();
        ventana.setLocation(200, 300);
        ventana.setLayout(new GridBagLayout());
        GridBagConstraints limite = new GridBagConstraints();
        
        final JLabel cartas []  = new JLabel[5];
        
        String cambio = "";
        for(int i = 0; i<=4; i++){
            
            cambio = cambio.valueOf(i);
            cartas[i].setName(cambio);
            cambio = "/build/classes/yohen/mallet/"+cambio+".jpg";
            cartas[i].setIcon(new ImageIcon(cambio));
            
            limite.gridx = i;
            limite.gridy = 0;
            limite.gridheight = 1;
            limite.gridwidth = 1;
            
            ventana.add(cartas[i], limite);
            
        }
        
        ventana.show();
        ventana.pack();
        
    }

}

...lo que busco con el anterior codigo es que se agreguen en orden horizontal las 5 cartas llamadas: 0,1,2,3 y 4; pero necesito agregarlas de la forma mas optimizada posible...y hasta ahora he logrado nada...:S
...alguien puede recalcar una idea o una correccion sobre mi codigo?
...o bien no se si el vector de JLabel lo pueda utilizar de dicha forma...:S
  #2 (permalink)  
Antiguo 26/12/2008, 02:59
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 3 meses
Puntos: 454
Respuesta: JLabel

Hola:

No estaría de más que indicaras qué quiere decir "de la forma más óptima posible" y qué es lo que estás obteniendo ahora que no se parece a cómo lo quieres.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 26/12/2008, 08:33
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 16 años, 6 meses
Puntos: 53
Exclamación Respuesta: JLabel

Código:
package yohen;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;

/**
 *
 * @author Edison Jair Lizcano
 */

public class Main {

    public static void main(String[] args) {
        
        JFrame ventana = new JFrame();
        ventana.setLocation(200, 300);
        ventana.setLayout(new GridBagLayout());
        GridBagConstraints limite = new GridBagConstraints();
        
        final JLabel cartas []  = new JLabel[5];
        
        String cambio = "";
        for(int i = 0; i<=4; i++){

            cambio = cambio.valueOf(i);
            cartas[i].setName(cambio);
            cambio = "/build/classes/yohen/mallet/"+cambio+".jpg";
            cartas[i].setIcon(new ImageIcon(cambio));
            
            JLabel prueba = new JLabel();
            cartas[i] = prueba;

            limite.gridx = i;
            limite.gridy = 0;
            limite.gridheight = 1;
            limite.gridwidth = 1;
            
            ventana.add(cartas[i], limite);
            
        }
        
        ventana.show();
        ventana.pack();
        
    }

}
...el problema solo era mi falta de referencia al array cartas[]...
  #4 (permalink)  
Antiguo 26/12/2008, 08:39
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 16 años, 6 meses
Puntos: 53
Respuesta: JLabel

..."de la forma más óptima posible"; ello quieres decir, ese mismo codigo hubiese podido ser de por lo menos 15 o 20 lineas para cada carta, pero como puedes ver implemento un ciclo que me identifica cada carta de diferente forma...aprox. solo en 30 lineas para todas ...(Y)
  #5 (permalink)  
Antiguo 27/12/2008, 17:52
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: por ahi!!!
Mensajes: 113
Antigüedad: 16 años
Puntos: 1
Respuesta: JLabel

Cita:
Iniciado por JairLizcano Ver Mensaje
..."de la forma más óptima posible"; ello quieres decir, ese mismo codigo hubiese podido ser de por lo menos 15 o 20 lineas para cada carta, pero como puedes ver implemento un ciclo que me identifica cada carta de diferente forma...aprox. solo en 30 lineas para todas ...(Y)
pero creo que aca la idea no es ahorrar lineas de codigo sino que primero
pienses un poco en el POO. Para eso primero deberias identificar un poco
cuales son los objetos con los que tenes que trabajar. En el codigo que tiraste no
identificaste ninguno. Despues Hacer un poco de uso de collecciones quizas te serviria un poco para tu ejercicio. Y por ultimo si queres utilizar awt o swing
ver bien como manejar los distintos componentes.
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 02:52.