最近没什么事,翻看以前的博客,看到在学校那会写的小程序,那时学软件开发的目的就是做GUI啊,现在这些仍是兴趣之一

偶然发现eclipse luna自带有一个windowbuilder,一个java 可视化图形设计插件,把程序改了改,加个线程控制,实现摇奖效果:

直接导出jar包,不用做任何修改,java的跨平台真不是盖的~mac下运行效果:

跟原生APP差不多,windows下效果就差远了,废话不多说,直接上代码:

package com.wenbo.swing;import java.awt.Color;
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Arrays;
import java.util.Random;
/*** 双色球摇奖机* @author admin**/
public class DoubleBall extends JFrame implements ActionListener,Runnable{/*** */private static final long serialVersionUID = -6640921399000089279L;private JPanel contentPane;private JTextField redball;private JTextField blueball;private JButton startbutton ;private JButton stopbutton ;static DoubleBall frame;private Thread t;boolean isRun = true;/*** Launch the application.*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {frame = new DoubleBall();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}/*** Create the frame.*/public DoubleBall() {setTitle("双色球摇奖机");setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//setBounds(100, 100, 450, 300);contentPane = new JPanel();contentPane.setBackground(new Color(240, 240, 240));contentPane.setLayout(null);//不设置布局方式setContentPane(contentPane);t = new Thread(this);JLabel lblNewLabel = new JLabel("福彩双色球摇奖机");lblNewLabel.setBounds(146, 25, 123, 16);contentPane.add(lblNewLabel);JLabel label = new JLabel("红球:");label.setBounds(31, 72, 61, 16);contentPane.add(label);redball = new JTextField();redball.setBounds(66, 65, 186, 28);contentPane.add(redball);redball.setColumns(10);JLabel label_1 = new JLabel("蓝球:");label_1.setBounds(258, 72, 39, 16);contentPane.add(label_1);blueball = new JTextField();blueball.setBounds(293, 66, 61, 28);contentPane.add(blueball);blueball.setColumns(10);startbutton= new JButton("开  始");startbutton.setActionCommand("start");startbutton.addActionListener(this);startbutton.setBounds(135, 118, 117, 29);contentPane.add(startbutton);stopbutton = new JButton("停  止");stopbutton.setActionCommand("stop");stopbutton.addActionListener(this);stopbutton.setBounds(135, 155, 117, 29);contentPane.add(stopbutton);JButton resetbutton = new JButton("重  选");resetbutton.setActionCommand("reset");resetbutton.addActionListener(this);resetbutton.setBounds(135, 191, 117, 29);contentPane.add(resetbutton);}private void getOneTicket(){int redarray[] = new int[6];//new一个数组来存放红球Random r = new Random();int red_no =0;int blue_no = r.nextInt(16)+1;//蓝球号码int count =0;//生成个数while(count<6){boolean flag = true;red_no =r.nextInt(33)+1;for(int i=0;i<count;i++){if(redarray[i]==red_no){//如果已存在 跳出flag = false;break;}}if(flag){ //如果不存在 放入红球数组redarray[count]=red_no;count++;}}Arrays.sort(redarray);//从大到小排序StringBuilder sb = new StringBuilder();int temp;String str;for(int i=0;i<6;i++){temp = redarray[i];if(temp<10){//如果小于10 前面加10str = "0"+temp;}else{str = temp+"";}if(i==0){sb.append(str);}else{sb.append("-"+str);}}redball.setText(sb.toString());if(blue_no<10){//如果小于10 前面加0str = "0"+blue_no;}else{str = blue_no+"";}blueball.setText(str);}@Overridepublic void actionPerformed(ActionEvent e) {String command = e.getActionCommand();if(command.equals("start")){startbutton.setEnabled(false);stopbutton.setEnabled(true);if(isRun){t.start();}else{isRun = true;}}else if(command.equals("stop")){isRun = false;startbutton.setEnabled(true);stopbutton.setEnabled(false);}else{redball.setText("00-00-00-00-00-00");blueball.setText("00");isRun = false;startbutton.setEnabled(true);stopbutton.setEnabled(false);JOptionPane.showMessageDialog(frame, "奖池已清空,请按开始按钮重新开始~");}}@Overridepublic void run() {//使用线程实现滚动while(true){if(isRun){getOneTicket();try {Thread.sleep(100);//休眠0.1s} catch (InterruptedException e) {e.printStackTrace();}//}else{try {Thread.sleep(1000);//休眠1s} catch (InterruptedException e) {e.printStackTrace();}//}}}
}

java swing写的双色球摇奖机相关推荐

  1. 用C#(入门) 双色球摇奖机 随机数实现

    这两天在深入学习C#.NET,正好同事做发财梦吵着去买彩票,于是心血来潮,利用昨晚工作空闲,写了一个双色球摇奖机的桌面程序. 程序在我的google论坛里了.下载地址如下(有点长:)): http:/ ...

  2. Java实现一个简单双色球摇奖功能

    要求:摇出1-33之间的7个随机数,且数字不能重复 双色球用ArryList集合来存储 随机摇出双色球使用Random类nextInt()方法 @Testpublic void filedome17( ...

  3. 基于Java语言双色球摇奖过程的模拟实现

    作者 | 顾北 对这个世界充满向往的理想主义者 基于JAVA语言编写,模拟实现双色球摇奖器摇奖过程,产生的有效号码与用户输入的有效号码对比,输出用户的中奖情况. 用户首先输入自己购买的双色球号码(其中 ...

  4. 用简单的Python语句写了个模拟双色球摇奖,希望能中。。

    用简单的Python语句写了个模拟双色球摇奖,希望能中.. import random; #利用Python中的random.sample()函数实现 resultList = random.samp ...

  5. HTML: 网页摇奖机(抽号机)

    HTML: 网页摇奖机(抽号机) 背景 一.需求分析 二.网页设计 1.界面设计 a. 取色 b.标题和背景 c.按钮与输入框 2.随机数逻辑设计 3.完整代码 三.效果展示 总结 背景 前两天回了趟 ...

  6. 摇奖机是按照金字塔的原理设计的

    摇奖机是按照金字塔的原理设计的 摇奖机是按照金字塔的摇奖机是按照金字塔的原理设计的 摇奖机是按照金字塔的原理设计的 众所周知,摇奖机其实就是一台人工控制的计算机.双色球单次的销量如果不超过3000万元 ...

  7. 一点关于线程和摇奖机

    一点关于线程和摇奖机 怎么说呢.第一呢.还是说一下什么是进程吧.进程呢就是一个正在执行的实例.它包含着一个运行程序需要的所有资源,进程之间是相互独立的,一个进程是没办法直接访问另外一个进程的数据的.然 ...

  8. IOS开发基础之摇奖机案例

    IOS开发基础之摇奖机案例 // ViewController.m // 33-摇奖机器 // Created by 鲁军 on 2021/3/9. #import "ViewControl ...

  9. 网页摇奖机(抽号机)2.0

    网页摇奖机(抽号机)2.0 背景 一.改进需求分析 二.改进代码 1.前端修改 2.后端修改 三.完整代码 走过路过点个赞赞吧QwQ! 背景 话说上回,我帮高中老师做了个抽号机,然后: 现在老师们的花 ...

最新文章

  1. python中字典dict的中的copy和deepcopy
  2. 想学 Java 的你,来看看这 20 个实战项目!
  3. Android官方命令深入分析之Device Monitor
  4. flask第十篇——url_for【3】
  5. 【Java源码分析】LinkedHashMap源码分析
  6. (0041) iOS 开发之几家第三方即时通讯
  7. 关于重构,看此文就够了
  8. UVa 11121 - Base -2 负进制的转化和推广
  9. 退格键删除input中光标指定的字符串_Linux中的vi 三种模式
  10. 当你看完这篇朴素贝叶斯(NB)算法后,是否会有怦然心动的感觉
  11. [Redis6]Redis相关知识介绍
  12. MySQL concat()函数
  13. linux 进城 管道丢数据,linux – 使用命名管道与bash – 数据丢失的问题
  14. Ralink5350开发环境搭建
  15. MariaDB通过命令行的方式导出指定数据库和还原指定数据库
  16. 见闻大量急救车急速行驶有感
  17. 超70家影视传媒单位联合500余位艺人倡议:立即清理未经授权短视频
  18. 常见问题解决方法汇总——十四届恩智浦智能车室外电磁越野组
  19. 回看科技股泡沫:区块链崛起恰逢其时,相当于1996年的互联网
  20. 前端工程师面试题详解(二)

热门文章

  1. 欢迎大家体验滴滴Logi-KafkaManager
  2. 搜款网新接口的展示过程
  3. 基于RTU的水情水文自动化监测系统
  4. Linux 基础上篇
  5. 【Rust日报】 2019-03-04
  6. LCD屏幕的面板构造
  7. 华为机试第二题420 按照路径替换二叉树
  8. 温度传感器的工作原理简介
  9. 烂泥:OpenLDAP安装与配置
  10. 数据结构c语言版谭浩强pdf,谭浩强C语言_数据结构.pdf