java自己做的软件---人员抽取小软件..有待改进啊...
发布日期:2021-06-29 18:04:29
浏览次数:2
分类:技术文章
本文共 5754 字,大约阅读时间需要 19 分钟。
mport java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.util.Date;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
public class choose extends JFrame {
private static final int H = 0;
//这是定义部分
//JPanel jp;
JPanel jp1;
JMenuBar jmb;
JMenu jm;
JMenu jm1;
//JMenu jm2;
//JMenu jm3;
JMenuItem add;
JMenuItem del;
JMenuItem exit;
JMenuItem zs;
JMenuItem js;
JMenuItem aboutus;
JMenuItem ckbz;
JLabel jl;
JLabel jl1;
JButton ks;
JButton tz;
String[] reny={"王燕","王小红","李德伟","张伟","田晓伟","赵晓峰","王晓光","刘泽","林俊杰","丁芬祥","张文杰","张玉爽","李珊珊","赵潭谭","吴洋洋"};
Mythread my;
MyTime tim;
int speed=1000;
//这是构造方法用于,初始化窗体
public choose (){
//这里调用显示时间的组件
//new MyTime().start();
//这是构造方法用于,初始化窗体
this.setSize(300, 400);
this.setVisible(true);
this.setTitle("晓峰--人员随机抽取器");
this.setLocationRelativeTo(null);
//this.setBackground(Color.blue);
//this.setLayout(new GridLayout(3,1));
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
//下面创建菜单栏
jmb=new JMenuBar();
jm=new JMenu("人员管理 ");
jm1=new JMenu("状态设置 ");
aboutus=new JMenuItem("关于我们");
//为aboutus添加事件监听。
aboutus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(rootPane, "创梦网络--晓峰qq:1606841559");
}
});
//jm2=new JMenu("关于我们 ");
// jm3=new JMenu("查看帮助");
//jm3设置监听事件
// jm3.addActionListener(new ActionListener() {
//
// @Override
// public void actionPerformed(ActionEvent e) {
// // TODO Auto-generated method stub
// JOptionPane.showMessageDialog(jm3, "请按alt+z开始,请按alt+s结束");
// }
// });
add=new JMenuItem("增加");
del=new JMenuItem("减少");
exit=new JMenuItem("退出");
//给exit增加响应
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
zs=new JMenuItem("增速");
//给zs设置快捷键menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
zs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
//给增速设置,响应事件;
zs.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
speed-=100;
int c=speed-50;
if (c<0) {
speed=0;
JOptionPane.showMessageDialog(zs, "您的速度太快了,不能再加了");
} else{
speed-=100;
}
}
});
js=new JMenuItem("减速");
//为js添加快捷键 menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
js.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
//为js添加响应事件
js.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
speed+=100;
}
});
//aboutus=new JMenuItem("联系我们");
ks=new JButton("开始");
//设置开始按钮的事件监听。
//设置按钮ks的快捷键
ks.setMnemonic(KeyEvent.VK_Z);
ks.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (my!=null) {
my.sto();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
//else{
Mythread s=new Mythread();
s.stat();
//}
}
});
ckbz=new JMenuItem("查看帮助");
ckbz.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(rootPane, "请按alt+z开始 请按alt+s停止");
}
});
tz=new JButton("停止");
//为tz添加事件监听器
//为停止添加快捷键
tz.setMnemonic(KeyEvent.VK_S);
tz.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Mythread st=new Mythread();
st.sto();
}
});
new MyTime().start();
//jp=new JPanel();
jp1=new JPanel();
//下面创建及设置label
jl1=new JLabel();
jl=new JLabel();
jl.setText("开始抽取");
jl1.setFont(new Font("宋体", Font.PLAIN, 15));
jl1.setHorizontalAlignment(Label.LEFT);
jl.setFont(new Font("黑体", Font.PLAIN, 50));
//jl.setSize(298, 310);
jl.setHorizontalAlignment(JLabel.CENTER);
//组建菜单和窗体---组建菜单
jm.add(add);
jm.addSeparator();//分割线
jm.add(del);
jm.addSeparator();
jm.add(exit);
jm1.add(zs);
jm1.addSeparator();
jm1.add(js);
//jm2.add(aboutus);
jmb.add(jm);
jmb.add(jm1);
jmb.add(aboutus);
jmb.add(ckbz);
//jmb.add(jm2);
//jmb.add(jm3);
//jp.setSize(298, 310);
//jp.add(jl);
jp1.add(ks);
jp1.add(tz);
//把菜单栏放到窗体上
setJMenuBar(jmb);
add(jl, BorderLayout.CENTER);
add(jp1, BorderLayout.SOUTH);
add(jl1, BorderLayout.NORTH);
}
boolean flag;
class Mythread extends Thread{
@Override
public void run() {
while(flag){
try {
Thread.sleep(speed);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Random r=new Random();
int n=r.nextInt(reny.length);
jl.setText(reny[n]);
}
}
public void stat(){
Mythread b=new Mythread();
flag=true;
b.start();
}
public void sto(){
Mythread b=new Mythread();
flag=false;
b.stop();
}
}
//显示时间的事件监听
class MyTime extends Thread{
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
while(true){
Date d=new Date();
int h=d.getHours();
int m=d.getMinutes();
int s=d.getSeconds();
String current="当前的时间是"+h+":"+m+":"+s;
jl1.setText(current);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//用于执行的main函数;
public static void main(String[] args) {
//调用choose类
new choose();
}
}
转载地址:https://credream.blog.csdn.net/article/details/8566772 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月24日 21时02分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
设计模式(十一)代理模式Proxy(结构型)
2019-04-30
eclipse 配置黑色主题
2019-04-30
开发团队里是否需要测试人员?
2019-04-30
深入理解java虚拟机 精华总结(面试)
2019-04-30
Java中String类的方法及说明
2019-04-30
IntelliJ IDEA - 热部署插件JRebel 安装使用教程
2019-04-30
插件GsonFormat快速实现JavaBean
2019-04-30
Java面试题全集(上)
2019-04-30
Java面试题全集(中)
2019-04-30
Java面试题全集(下)
2019-04-30
《代码整洁之道》读书笔记
2019-04-30
Java程序员从笨鸟到菜鸟之(六十七)细谈Spring(一)spring简介
2019-04-30
Java程序员从笨鸟到菜鸟之(六十八)细谈Spring(二)自己动手模拟spring
2019-04-30
Java程序员从笨鸟到菜鸟全部博客目录
2019-04-30
java程序员从笨鸟到菜鸟之(七)一—java数据库操作
2019-04-30
Java程序员从笨鸟到菜鸟之(八)反射和代理机制
2019-04-30
面试心得与总结—BAT、网易、蘑菇街
2019-04-30
Java对象初始化顺序
2019-04-30
Java开发的几个注意点
2019-04-30