Java GUI 简单抽奖演示,可以自行修改功能,Timer类的使用
2014-04-09 23:10
501 查看
import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.Timer; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; /** * JavaGUI 生成 验证码 * * @author kaifang * */ public class JavaYanZhengMa { public static void main(String[] args) { // 定义验证码字符。去除了O和I等容易混淆的字母(也可写成) final String[] scode = { "A", "B", "C", "D", "E", "F", "G", "H", "G", "K", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; // 创建Random对象 final Random rand = new Random(); // 创建窗体JFrame对象、放置验证码的JLabel对象、控制开始停止的JButton对象 final JFrame jf = new JFrame("验证码"); final JLabel jl = new JLabel("点击开始"); final JButton jb = new JButton("开始"); // 创建可以间隔定时执行的Timer对象,间隔为200毫秒,初始ActionListener为null final Timer times = new Timer(200, null); // 获取JFrame内容面板 Container con = jf.getContentPane(); // 设置内容面板布局为null con.setLayout(null); // 把标签对象添加进内容面板 con.add(jl); // 设置标签文字格式 jl.setFont(new Font("幼圆", Font.PLAIN, 30)); // 设置标签的摆放位置和大小 jl.setBounds(70, 30, 126, 36); // 把按钮添加进内容面板 con.add(jb); // 设置按钮的摆放位置和大小 jb.setBounds(90, 90, 90, 30); // 为按钮注册ActionListener事件 jb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 判断验证码是否在滚动,是 则停止,否 则开始滚动 if (!times.isRunning()) { times.start(); } else { times.stop(); } // 改变按钮的文字,开始滚动后变为停止,停止后变为开始 if ("开始".equals(jb.getText())) { jb.setText("停止"); } else { jb.setText("开始"); } // 为Timer对象添加ActionListener事件,在事件中产生随机验证码并实现验证码的滚动操作 times.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String str = ""; for (int i = 0; i < 4; i++) { str += scode[rand.nextInt(scode.length)]; } jl.setText(str); } }); } }); // 设置JFrame大小 jf.setSize(260, 200); // 窗体置顶显示 jf.setAlwaysOnTop(true); // JFrame不能改变大小 jf.setResizable(false); // JFrame居中显示 jf.setLocationRelativeTo(null); // 显示JFrame窗体 jf.setVisible(true); // 设置JFrame关闭动作 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
相关文章推荐
- 简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。
- 百度地图 Android SDK - 检索功能使用的简单演示样例
- Java中使用WebService实现简单的天气预报功能
- java中Debug调试功能简单使用
- 使用简单的html+css+javacsript实现dialog功能
- 基于java实现的简单网页日历功能,有兴趣得可以把它转换到前端实现
- 引自MagicLinux的C代码简单配置文件读取功能(使用需修改)
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(计算器简单功能)——Jason niu
- 使用Java实现简单的server/client回显功能的方法介绍
- Android jni aes加解密,实现文件的加解密,具体实现可以自行修改,上面的代码为简单介绍,下面的是JNI端实现文件加解密,可以修改为字符串加解密
- java反编译软件jd-gui.exe以及使用javassist修改class文件 .
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
- 高德地图的Js API 简单Demo,可以快速实现路点描线(摘自官方接口及自行修改测试)
- 简单演示对象间通过BLOCK回调修改属性的功能
- 使用java简单模仿抢红包功能
- Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能
- Oracle DBLINK 简单使用 oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操
- 坦克游戏教程一:使用java绘图功能绘制简单坦克
- Java实现ping功能的三种方法--windows(版本)---linux下请自行修改 【ping】参数 跟 正则验证
- XNA Game Studio是一套有着强大功能和简单界面的游戏制作平台,游戏开发商和游戏玩家都可以使用这套工具开发针对Windows XP以及Xbox360的游戏,XNA Game Studio分为两种版本,一种是面向初学者的EXPRESS版本,还有一种是面向专业用户的专业版。用户使用EXPRESS版本开发游戏完全免费,并且可以随意在PC上发行,不过用该工具开发的游戏若是在360上网络发行,就需要交纳99美元的年费。