У меня есть система, в которой пользователь может вводить изображения, и я уже ищу в Интернете, как изменить размер изображения в соответствии с размером JLabel, и это работает. Однако, когда я щелкаю другое изображение на JTable (база данных), оно каким-то образом возвращается к своему обычному размеру и больше не изменяется в JLabel. Как бы я это исправить?
Это код для кнопки загрузки
private void btnUploadActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
ImageIcon imageIcon = new ImageIcon (new ImageIcon(filename).getImage().getScaledInstance(lblImage.getWidth(), lblImage.getHeight(), Image.SCALE_DEFAULT));
lblImage.setIcon(imageIcon);
try {
File image = new File(filename);
FileInputStream fix = new FileInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for (int number; (number = fix.read(buf)) != -1;) {
bos.write(buf, 0, number);
}
bookImage = bos.toByteArray();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Должен ли я объявить еще один getScaledInstance для других кнопок / событий? Как?
Спасибо!