java—骰子

类似骰子可视化代码

通过随机数生成操作,刷新图片(如果是模拟骰子,图片选择骰子的六张图片),通过flag操作设置一个骰子最后结果的操作(代码中为index),然后通过按钮来控制摇骰子。
图片的刷新过程是在窗体中进行的。

import java.awt.BorderLayout;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Check extends JFrame{
	JButton check;
    ImageIcon ii=new ImageIcon("1.png");
    int i;
    private int index;
	static boolean boo = true;
    Check() {
    	this.setLayout(null);
    	check = new JButton("抽取");
    	check.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				index = 6;
				boo = true;
				MyCheck mc = new MyCheck();
				mc.start();
			}
		});
        this.setSize(200, 240);
        this.setVisible(true);
        this.add(check);
        check.setBounds(50, 170, 80, 30);
    }
    @Override
    public void paint(Graphics g) {
    	super.paint(g);
    	g.drawImage(ii.getImage(),0,0,200,200,null);
    }
	class MyCheck extends Thread implements Runnable{
		@Override
    	public void run() {
			while(boo){
				try {
					if(index == 0) {
						boo = false;
					}
					index--;
					Thread.sleep(500); // 图片刷新间隔时间
					i=(int)(Math.random()*6)+1; // 生成的随机数中包含0,所以有 +1 
					ii=new ImageIcon(i+".png"); // 倘若书写格式是这种,图片直接放在创建的Java project目录下 
					
					repaint();
				} catch (InterruptedException e) {
        		e.printStackTrace();
				}
			}
			System.out.println(i);
    	}
    }
    public static void main(String[] args) {
        Check d=new Check();
    }
}
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术很low的瓜贼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值