首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Java中通过按一下按钮来显示新的随机图像?

如何在Java中通过按一下按钮来显示新的随机图像?
EN

Stack Overflow用户
提问于 2020-03-24 23:10:16
回答 1查看 67关注 0票数 2

我想让它在用户按下掷骰子按钮时,程序显示一个新的随机的骰子图片。我将其设置为更改所显示图像的文件名,但实际上并不更改图像。它只显示了初始化后的那个。

代码语言:javascript
运行
复制
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();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-03-24 23:17:47

您需要在安装过程中向Jframe中添加一个按钮,并注册一个事件侦听器,该侦听器的方法执行newRoll()所执行的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60833796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档