Há momentos que desejamos adicionar uma imagem em painel ou JLabel com tamanho específico mesmo que o tamanho real da imagem não seja esse.
Sintaxe:
ImageIcon img= new ImageIcon(ImageIO.read()
.getScaledInstance(, , Image.SCALE_SMOOTH));
Onde:
Exemplo:
Abaixo é possível ver uma imagem que está sendo redimencionada dentro de um label.
public static void main(String args[]) throws IOException
{
JFrame jframe= new JFrame();
jframe.setBounds(100, 100, 658, 284);
JPanel panel=new JPanel();
panel.setPreferredSize(new Dimension(300, 300));
jframe.add(panel);
JLabel b1 = new JLabel(new ImageIcon(ImageIO.read(new File(File.separator+"tmp/duke.jpg"))
.getScaledInstance(84, 30, Image.SCALE_SMOOTH)));
b1.setBounds(421, 219, 84, 30);
JLabel b2Redimencionado = new JLabel(new ImageIcon(ImageIO.read(new File(File.separator+"tmp/duke.jpg"))
.getScaledInstance(168, 60, Image.SCALE_SMOOTH)));
b2Redimencionado.setBounds(521, 219, 84, 30);
panel.add(b1);
panel.add(b2Redimencionado);
panel.setVisible(true);
jframe.setLocationRelativeTo(null);
jframe.setVisible(true);
}
Abaixo é possível ver uma imagem redimencionada ao lado de outra.
Observação:
Para o código acima funcionar é necessário especificar o caminho do arquivo local para fazer redimensionamento.