básicamente es esto
Para mas info...
google: jlabel resize image
esta es la forma Java Senior ;)
Código Java:
Ver originalpublic static void setImageAsIconLabel
(JLabel label,
byte[] imageInByte
) throws IOException { int labelWidth = label.getWidth();
int labelHeight = label.getHeight();
// Get a transform...
(double) labelWidth / bufferedImage.getWidth(), (double) labelHeight / bufferedImage.getHeight());
int transparency = bufferedImage.getColorModel().getTransparency();
BufferedImage dest
= cg.
createCompatibleImage(labelWidth, labelHeight, transparency
); g = dest.createGraphics();
g.drawRenderedImage(bufferedImage, trans);
g.dispose();
label.
setIcon(new ImageIcon(dest
)); // <-- si hace resize() label.setText(null);
}
/**
* Ajusta la imagen al size de la jLabel, también deja
* <code>null</code> el texto de la label
*
* @param label
* @param imageFile File de una imagen, la cual se va ajustar al tamaño de
* la jLabel.
* @return el jLabel con la imagen ajustada..
* @exception java.io.IOException si no puede leer el
* <code>imageFile</code>
* @exception Exception si el tamaño del archivo supera el configurado
* permitido (default is Integer.MAX_VALUE).
*/
int labelWidth = label.getWidth();
int labelHeight = label.getHeight();
// Get a transform...
(double) labelWidth / bufferedImage.getWidth(), (double) labelHeight / bufferedImage.getHeight());
// g = (Graphics2D) label.getGraphics();
// g.drawRenderedImage(src, trans);
// jLabel.setIcon(new ImageIcon(src)); // <-- no resizea la img en la label
//----------------------------
int transparency = bufferedImage.getColorModel().getTransparency();
BufferedImage dest
= cg.
createCompatibleImage(labelWidth, labelHeight, transparency
); g = dest.createGraphics();
g.drawRenderedImage(bufferedImage, trans);
g.dispose();
label.
setIcon(new ImageIcon(dest
)); // <-- si hace resize() label.setText(null);
return label;
}