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

Tamaño imagen JLabel

Estas en el tema de Tamaño imagen JLabel en el foro de Java en Foros del Web. Hola!! Tengo un JPanel y dentro de él tengo una imagen, pero no se me ajusta al tamaño del JPanel, alguien sabe como hacerlo por ...
  #1 (permalink)  
Antiguo 16/05/2012, 03:53
 
Fecha de Ingreso: noviembre-2010
Mensajes: 93
Antigüedad: 14 años
Puntos: 1
Tamaño imagen JLabel

Hola!!
Tengo un JPanel y dentro de él tengo una imagen, pero no se me ajusta al tamaño del JPanel, alguien sabe como hacerlo por favor??
Muchas gracias!!!
Os dejo el código:
Código Java:
Ver original
  1. public inicio2forma() {
  2.         initComponents();
  3.         setExtendedState(JFrame.MAXIMIZED_BOTH);
  4.  
  5.         ImageIcon pic = new ImageIcon("src/Imagenes/imagen.jpg");
  6.         jPanel1.add(new JLabel(pic));
  7.         this.add(jPanel1);
  8.         this.pack();
  9.         this.setVisible(true);
  10.     }
  #2 (permalink)  
Antiguo 16/05/2012, 10:02
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 11 meses
Puntos: 41
Respuesta: Tamaño imagen JLabel

básicamente es esto
Código Java:
Ver original
  1. File file = new File("image.png");
  2.         BufferedImage read = ImageIO.read(file);
  3.         Image scaledInstance = read.getScaledInstance(200, 100, Image.SCALE_DEFAULT);
  4.         jLabel2.setIcon(new ImageIcon(scaledInstance));

Para mas info...
google: jlabel resize image

esta es la forma Java Senior ;)
Código Java:
Ver original
  1. public static void setImageAsIconLabel(JLabel label, byte[] imageInByte) throws IOException {
  2.         ByteArrayInputStream bais = new ByteArrayInputStream(imageInByte);
  3.         BufferedImage bufferedImage = ImageIO.read(bais);
  4.         int labelWidth = label.getWidth();
  5.         int labelHeight = label.getHeight();
  6.         // Get a transform...
  7.         AffineTransform trans = AffineTransform.getScaleInstance(
  8.                 (double) labelWidth / bufferedImage.getWidth(), (double) labelHeight / bufferedImage.getHeight());
  9.         Graphics2D g = (Graphics2D) label.getGraphics();
  10.         GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
  11.         GraphicsDevice gd = ge.getDefaultScreenDevice();
  12.         GraphicsConfiguration cg = gd.getDefaultConfiguration();
  13.         int transparency = bufferedImage.getColorModel().getTransparency();
  14.         BufferedImage dest = cg.createCompatibleImage(labelWidth, labelHeight, transparency);
  15.         g = dest.createGraphics();
  16.         g.drawRenderedImage(bufferedImage, trans);
  17.         g.dispose();
  18.         label.setIcon(new ImageIcon(dest)); // <-- si hace resize()
  19.         label.setText(null);
  20.     }
  21.  
  22.     /**
  23.      * Ajusta la imagen al size de la jLabel, también deja
  24.      * <code>null</code> el texto de la label
  25.      *
  26.      * @param label
  27.      * @param imageFile File de una imagen, la cual se va ajustar al tamaño de
  28.      * la jLabel.
  29.      * @return el jLabel con la imagen ajustada..
  30.      * @exception java.io.IOException si no puede leer el
  31.      * <code>imageFile</code>
  32.      * @exception Exception si el tamaño del archivo supera el configurado
  33.      * permitido (default is Integer.MAX_VALUE).
  34.      */
  35.     public static JLabel setImageAsIconLabel(JLabel label, File imageFile)
  36.             throws IOException {
  37.         BufferedImage bufferedImage = ImageIO.read(imageFile);
  38.         int labelWidth = label.getWidth();
  39.         int labelHeight = label.getHeight();
  40.         // Get a transform...
  41.         AffineTransform trans = AffineTransform.getScaleInstance(
  42.                 (double) labelWidth / bufferedImage.getWidth(), (double) labelHeight / bufferedImage.getHeight());
  43.  
  44.         Graphics2D g;
  45. //        g = (Graphics2D) label.getGraphics();
  46. //        g.drawRenderedImage(src, trans);
  47. //        jLabel.setIcon(new ImageIcon(src)); // <-- no resizea la img en la label
  48.         //----------------------------
  49.         GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
  50.         GraphicsDevice gd = ge.getDefaultScreenDevice();
  51.         GraphicsConfiguration cg = gd.getDefaultConfiguration();
  52.         int transparency = bufferedImage.getColorModel().getTransparency();
  53.         BufferedImage dest = cg.createCompatibleImage(labelWidth, labelHeight, transparency);
  54.         g = dest.createGraphics();
  55.         g.drawRenderedImage(bufferedImage, trans);
  56.         g.dispose();
  57.         label.setIcon(new ImageIcon(dest)); // <-- si hace resize()
  58.         label.setText(null);
  59.         return label;
  60.     }
__________________
BadProgrammerException!

Etiquetas: jlabel, tamaño
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 00:17.