Ошибка при попытке обновить изображение в JPanel - PullRequest
0 голосов
/ 12 декабря 2011

Пожалуйста, извините за мою сложную структуру графического интерфейса, я очень новичок в этом: URL-адрес изображения-> ImageIcon-> JLabel-> JScrollPane-> JPanel-> JTabbedPane-> JFrame.

Идея состоит в обновлениикартинка с кнопкой, действие которой обновляет часть URL.Чтобы эта кнопка изменила URL-адрес, у меня есть поле JText, которое отображает URL-адрес при нажатии кнопки.URL в текстовом поле показывает, что обновление имело место, но картинка в графическом интерфейсе осталась прежней.

Класс для создания панели изображений:

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;

public class MapPicturePanel {
    public JScrollPane getContent(BufferedImage image) {
        ImageIcon icon = new ImageIcon(image);
        JLabel label = new JLabel(icon);
        label.setHorizontalAlignment(JLabel.CENTER);
        return new JScrollPane(label);        
    }



}

Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 декабря 2011

Не создавайте новую панель каждый раз, когда вы меняете изображение.

Вместо этого просто прочитайте изображение, создайте новый ImageIcon, а затем вы можете использовать:

label.setIcon(...);

иЯрлык автоматически перекрасится.

1 голос
/ 12 декабря 2011

Добавьте команду repaint () после изменения URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...