Как изменить размер изображения в зависимости от размера JLabel, когда пользователь выбирает строки в базе данных - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть система, в которой пользователь может вводить изображения, и я уже ищу в Интернете, как изменить размер изображения в соответствии с размером 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 для других кнопок / событий? Как?

Спасибо!

...