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
上一篇: 宅家两个月 数十万青年玩起了vlog
下一篇: Solution 2021-03-01