Я знаю, что это ответили несколько раз раньше, но на тех, что я нашел, были ответы на блоки с кодом программы, и у меня возникли проблемы с определением того, какой именно код действительно изменил изображение. Я пытаюсь изменить изображение jlabel в моем графическом интерфейсе во время выполнения, нажав кнопку.
public JPanel createContentPane (){
JPanel totalGUI = new JPanel();
totalGUI.setLayout(null);
pictureArea = new JPanel();
pictureArea.setLayout(null);
pictureArea.setLocation(560, 0);
pictureArea.setSize(860, 500);
totalGUI.add(pictureArea);
picture = new JLabel(image);
picture.setLocation(0, 0);
picture.setSize(800, 800);
picture.setHorizontalAlignment(0);
pictureArea.add(picture);
//skipping other code
decision2 = new JButton("Next");
decision2.setLocation(160, 20);
decision2.setSize(70, 30);
decision2.addActionListener(this);
buttonPanel.add(decision2);
return totalGUI;
}
public void actionPerformed(ActionEvent e) {
//skipped other code
else if(e.getSource() == decision2){
//code i need for changing the image
}
}
Спасибо за любую помощь, которую вы можете предоставить.
Вы ищете метод JLabel's
setIcon
label.setIcon(new ImageIcon(getClass().getResource("/path/to/image.png")));
Вы пробовали это?
//код мне нужно для изменения вызова изображения, функция, которая имеет JLabel определена, и передать image_location, например: images/image.png
yourfunction(String imagelocation)
{
BufferedImage bufImg=ImageIO.read(new File(image_location));
jlabel.setIcon(new ImageIcon(bufImg));
}