Мне нужно загрузить маленькую иконку на кнопку моего программного обеспечения.просто чтобы иконка загрузки / ок / ошибка.как указано в "http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter06/images.html", я создаю панель расширения, расширяющую JPanel.
class drawingPanel extends JPanel
{
Image img;
drawingPanel (Image img){
this.img = img;
}
public void paintComponent (Graphics g) {
super.paintComponent (g);
// Use the image width & height to find the starting point
int imgX = getSize ().width/2 - img.getWidth (this);
int imgY = getSize ().height/2 - img.getHeight (this);
//Draw image centered in the middle of the panel
g.drawImage (img, imgX, imgY, this);
} // paintComponent
}
Я инициализирую компонент следующим образом:
// Grab the image.
Image img = new ImageIcon(iconPath+"ok.png").getImage();
// Create an instance of DrawingPanel
iconPanel = new drawingPanel(img);
все работает хорошо, но во время выполнения я хочучтобы иметь возможность изменить значок в панели. Я попробовал все fo; llowing, но ни один не смог просмотреть новую картинку:
Image img = new ImageIcon(iconPath+"loading.gif").getImage();
// Create a new instance of DrawingPanel
this.iconPanel = new drawingPanel(img);
this.iconPanel.repaint();
this.iconPanel.revalidate();
this.iconPanel.repaint();
this.repaint();
this.revalidate();
(я пробовал это, потому что класс, в котором я пишу кодеще одно расширение JPanel, которое содержит IconPanel. Есть идеи, почему мне не удается изменить изображение?
Спасибо, Стефано