Я хочу сделать так, чтобы, когда пользователь нажимал кнопку Roll Dice, программа отображала новую случайную картинку ad ie. Я настроил его так, чтобы оно меняло имя файла отображаемого изображения, но на самом деле оно не меняет изображение. Он просто показывает инициализированный.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class GraphicPanel extends JPanel {
BufferedImage img = null;
private int index = 0;
String random = "one.png";
String[] imageFileNameArray = new String[] {"one.png", "two.png", "three.png", "four.png", "five.png", "six.png"};
GraphicPanel() {
this.setBackground(Color.WHITE);
}
@Override
public void paint(Graphics g) {
super.paint(g);
String fileName = ("src/images/" + random);
try {
img = ImageIO.read(new File(fileName));
} catch (IOException ex) {
Logger.getLogger(GraphicPanel.class.getName()).log(Level.SEVERE, null, ex);
}
g.drawImage(img, 200, 50, 100, 100, this);
}
public void newRoll(){
int idx = new Random().nextInt(imageFileNameArray.length);
String random = (imageFileNameArray[idx]);
System.out.println(random);
this.repaint();
}
}