欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java—骰子

程序员文章站 2022-06-26 17:07:28
类似骰子可视化代码通过随机数生成操作,刷新图片(如果是模拟骰子,图片选择骰子的六张图片),通过flag操作设置一个骰子最后结果的操作(代码中为index),然后通过按钮来控制摇骰子。图片的刷新过程是在窗体中进行的。import java.awt.BorderLayout;import java.awt.Graphics;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionLis...

类似骰子可视化代码

通过随机数生成操作,刷新图片(如果是模拟骰子,图片选择骰子的六张图片),通过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();
    }
}

本文地址:https://blog.csdn.net/weixin_46068252/article/details/114263927