利用Java线程及JFrame面板制作一个随机摇号小程序
很多都是自己写的,慢慢的尝试,里面改了很多次数
但是最后的结果是没有错的
最后的最后终于得到想要的结果
慢慢的训练总能得到训练的
加油!!!!
上代码:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class MDialog extends JDialog {
private JTextField tf1,tf2,tf3,tf4;
MThread mt1,mt2,mt3,mt4;
JButton bt1,bt2,bt3;
JTextArea ja=new JTextArea();
JLabel jl[]={null,null,null,null};
JLabel jb=new JLabel();
JScrollPane scoll=new JScrollPane();
ThreadGroup tg=new ThreadGroup("摇号");
// static boolean isstop=true;
public MDialog(){
this.setTitle("随机摇号小程序");
this.setBackground(Color.BLUE);
this.setBounds(100, 100, 450, 300);
getContentPane().setLayout(null);
bt1=createButton(this,"开始",0);
tf1=createTextField(this, 0);
tf2=createTextField(this, 1);
tf3=createTextField(this, 2);
tf4=createTextField(this, 3);
mt1=new MThread(tf1, tg);
mt2=new MThread(tf2, tg);
mt3=new MThread(tf3, tg);
mt4=new MThread(tf4, tg);
bt1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// String n1=tf1.getText();
// String n2=tf2.getText();
// String n3=tf3.getText();
// String n4=tf4.getText();
// isstop=true;
// MThread t1=new MThread(tf1,tg);
// MThread t2=new MThread(tf2,tg);
// MThread t3=new MThread(tf3,tg);
// MThread t4=new MThread(tf4,tg);
//MThread t1=new MThread(tf1,tg);
mt1.start();
mt2.start();
mt3.start();
mt4.start();
bt1.setEnabled(false);
}
});
JLabel lb=new JLabel("数字显示");
lb.setBounds(37, 27, 54, 15);
this.getContentPane().add(lb);
// jl[0]=createJLabel(this, 0);
// jl[1]=createJLabel(this, 1);
// jl[2]=createJLabel(this, 2);
// jl[3]=createJLabel(this, 3);
// jl1.setBounds(60, 90, 35, 21);
// jl2.setBounds(98, 90,35, 21);
// jl3.setBounds(136, 90,35, 21);
// jl4.setBounds(174, 90,35, 21);
// this.add(jl[0]);
// this.add(jl[1]);
// this.add(jl[2]);
// this.add(jl[3]);
ja.setBounds(37, 90, 200, 150);
this.add(ja);
this.add(scoll);
bt2=createButton(this, "抽取一次", 1);
bt2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// isstop=false;
// mt1.interrupt();
// mt2.interrupt();
// mt3.interrupt();
// mt4.interrupt();
//System.out.println(mt1.s);
// String s1;
// s1=(mt1.m+"");
// String s2;
// s2=(mt2.m+"");
// String s3;
// s3=(mt3.m+"");
// String s4;
s4=(mt4.m+"");
// jl[0].setText(mt1.jf.getText());
// jl[1].setText(mt2.jf.getText());
// jl[2].setText(mt3.jf.getText());
// jl[3].setText(mt4.jf.getText());
tg.interrupt();
synchronized (mt1) {
synchronized (mt2) {
synchronized (mt3) {
synchronized (mt4) {
// System.out.println();
// ja.setLineWrap(true);
ja.append("\n"+mt1.jf.getText()+""+mt2.jf.getText()+""+mt3.jf.getText()+""+mt4.jf.getText());
// scoll.add(ja);
// ja.setText(mt2.jf.getText());
}
}
}
}
bt2.setEnabled(false);
}
});
bt3=createButton(this, "继续", 2);
bt3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tg.resume();
bt1.setEnabled(false);
bt2.setEnabled(true);
}
});
}
public static int getnumber(int n){
int m;
m=n;
return m;
}
public class MThread extends Thread {
int i=0;
JTextField jf=new JTextField();
// int m;
public MThread(JTextField jf,ThreadGroup tg){
super(tg,"摇号");
this.jf=jf;
}
public void run(){
while(true){
// int t=0;
synchronized (this) {
i=(i+1)%10;
jf.setText(""+i);
//
}
if(this.interrupted()){
this.suspend();
}
// t++;
}
}
}
public static void main(String[] args){
try{
MDialog dialog=new MDialog();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
}
public static JTextField createTextField(MDialog mg, int i){
JTextField jf=new JTextField();
jf.setBounds(37+i*38,52,35,21);
mg.getContentPane().add(jf);
return jf;
}
public static JLabel createJLabel(MDialog mg,int i){
JLabel jl=new JLabel();
jl.setBounds(37+i*38, 90, 35, 21);
mg.getContentPane().add(jl);
return jl;
}
public static JButton createButton(MDialog mg, String string, int i){
//Icon name;
JButton jb=new JButton(string);
jb.setBounds(300, 52+i*35, 95, 25);
mg.getContentPane().add(jb);
return jb;
}
}
利用Java线程及JFrame面板制作一个随机摇号小程序相关推荐
- 基于小程序+云开发制作一个文件传输助手小程序
微信文件传输助手是真人?基于云开发制作一个文件传输助手小程序,你发给ta的小秘密,只有你自己知道. 开发步骤 一.创建小程序 二.云开发配置 环境配置 绑定云环境 三.页面设计 首页 详情页 底部弹窗 ...
- 选车位摇号小程序开发制作
选车位摇号小程序开发制作功能:后台上传用户的姓名.身份证号.手机号.作为确认条件.用户摇号的时候要输入对应的姓名.手机号.身份证号.系统会自动匹配后台据,匹配通过用户可以参与摇号,必摇中.摇中有二维码 ...
- java数组36选7_36选7随机摇号
import java.util.Random; public class RandomDemo { public static void main(String[] args) { lottery( ...
- python简单图画程序_制作一个简单的画图小程序界面
1 新建一个文本文档,然后点击重命名,建立一个python文件.后缀为.py.如图所示,系统会提示是否更改后缀,点击是.然后就创建了一个python文件. 2 打开刚才创建的文件,使用idle打开方式 ...
- 用java的二维数组做一个简易计算优惠小程序(附带源码)
要求: 1.单点: 溜肥肠24元 酱肘子32 米饭3元 2.订单满30打八折 3.优惠价: 溜肥肠18元 4.打八折与优惠价不能同时使用,点这三样,最少多少钱? 思路: 首先定义一个 String 类 ...
- 一个随机摇号的js脚本
默认是随机生成1~10内的十个数 <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...
- java摇号抽奖程序,Excel真的太强大了,能把抽奖功能做成车牌号摇号程序,真是人才...
大家好,这几天也没有朋友给我留言问我问题了,一时间竟然不知道要教大家些什么了.在想素材的时候突然又想到了抽奖小程序,不知大家还有印象吗?想到抽奖,又让我突然想到了车牌号摇号,于是素材就来了,Excel ...
- 还在想假期去哪玩?直接做一个旅游攻略小程序
憋了几年好不容易解封准备出去散散心,但看着大江南北这么多景点是不是有点让你选择强迫症呢?那就先制作一个旅游攻略小程序看看驴友们的分享吧.
- 利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具
利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具 独立观察员 2020 年 12 月 26 日 前一段看到微信公众号 "码农读书" 上发了一篇文章&l ...
最新文章
- iOS Xcode全面剖析
- JavaScript 复习之 事件模型 和 Event对象
- 【Linux网络编程学习】socket API(socket、bind、listen、accept、connect)及简单应用
- 程序编码应保持良好的规范(C#)
- kubectl apply -f_广州车展捷豹路虎参展阵容 全新F-PACE 路虎卫士90
- c primer英文版第5版_2019足坛10大巨星:梅西第2范戴克第3,C罗第5
- OpenShift 4 之Istio-Tutorial (9) 访问限流
- Shiro——从零开始进行详解官方入门案例
- *** error 65: access violation at C:0x001B : no 'execute/read' permission
- swift 二进制读写_Swift二进制搜索树
- TASLP | 从判别到生成:基于对比学习的生成式知识抽取方法
- Pandas数据类型-DataFrame之创建和访问
- drool 7.x 语法和属性
- 【附干货】卸载CAD后将注册表清理干净的方法及步骤
- 视觉SLAM总结-本质矩阵E分解
- python zip压缩文件下载及解压
- 字符识别,口算题识别论文小梗概
- 自有项目Iframe嵌入ThingJS物联网可视化项目代码解析
- 利用googlemap查询经纬度
- 这些地区的大学,取消英语四六级口语考试!