Java课程设计--定时器


1.团队课程设计博客链接

团队博客地址

2.个人负责模块或任务说明

  • 框架构建
  • 时间设置面板,倒计时面板
  • 按钮设置

3.自己的代码提交记录截图

4.自己负责模块或任务详细说明

1.框架构建

public TimeFrame() {
add(new TimePanel()); this.setTitle("定时器");
this.setSize(1200, 800);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setVisible(true);
}

2.创建类

class TimePanel extends JPanel implements ActionListener, KeyListener, Runnable {

		/**
*
*/
private static final long serialVersionUID = 1L; private int setTime;
private int showTime;
// 定义是否计时变量
private boolean flag = false;
private JPanel jpShowTime, jpSetting, jpTimeInfo; private JLabel labTime, labSetTime, labPassTime, labRemainTime;
private JButton btnBegin;
private JButton btnPause;
private JButton btnContinue;
private JButton btnHidden;
private JButton btnShow;
private JButton btnExit;
// 倒计时设置
private JPanel jpTimeSetting;
private JTextField tfdHours;
private JTextField tfdMinutes;
private JTextField tfdSeconds; public TimePanel() {
this.setSize(1200, 800);
this.setLayout(null); createSetting();
createShowTime(); jpSetting.addKeyListener(this);
jpSetting.setFocusable(true);
}

3.创建倒计时面板、设置时间面板、倒计时属性面板、时间信息面板

void createShowTime() {
jpShowTime = new JPanel();
jpShowTime.setSize(1200, 400);
jpShowTime.setBackground(Color.BLACK); labTime = new JLabel("00 : 00 : 00", JLabel.CENTER);
labTime.setFont(new Font("微软雅黑", 1, 200));
labTime.setForeground(Color.RED);
jpShowTime.add(labTime); add(jpShowTime).setBounds(0, 400, 1200, 400); }
void createSetting() {
jpSetting = new JPanel();
jpSetting.setSize(1200, 400);
jpSetting.setLayout(null); createTimeSetting();
createTimeInfo(); // 开始按钮
btnBegin = new JButton("开始[F8]");
jpSetting.add(btnBegin).setBounds(700, 50, 80, 50);
// 暂停按钮
btnPause = new JButton("暂停[F9]");
jpSetting.add(btnPause).setBounds(800, 50, 80, 50);
// 继续按钮
btnContinue = new JButton("继续[F10]");
jpSetting.add(btnContinue).setBounds(900, 50, 80, 50);
// 隐藏按钮
btnHidden = new JButton("隐藏[F11]");
jpSetting.add(btnHidden).setBounds(700, 120, 80, 50);
// 显示按钮
btnShow = new JButton("显示[F12]");
jpSetting.add(btnShow).setBounds(800, 120, 80, 50);
// 帮助按钮
btnExit = new JButton("退出");
jpSetting.add(btnExit).setBounds(900, 120, 80, 50); btnBegin.addActionListener(this);
btnPause.addActionListener(this);
btnContinue.addActionListener(this);
btnHidden.addActionListener(this);
btnShow.addActionListener(this);
btnExit.addActionListener(this); add(jpSetting).setBounds(0, 0, 1200, 400);
}
void createTimeSetting() {
jpTimeSetting = new JPanel();
jpTimeSetting.setSize(300, 200);
jpTimeSetting.setLayout(new FlowLayout()); jpTimeSetting.add(tfdHours = new JTextField(3));
jpTimeSetting.add(new JLabel("时"));
jpTimeSetting.add(tfdMinutes = new JTextField(3));
jpTimeSetting.add(new JLabel("分"));
jpTimeSetting.add(tfdSeconds = new JTextField(3));
jpTimeSetting.add(new JLabel("秒")); tfdHours.addKeyListener(this);
tfdMinutes.addKeyListener(this);
tfdSeconds.addKeyListener(this); jpSetting.add(jpTimeSetting).setBounds(100, 100, 300, 200);
}
void createTimeInfo() {
jpTimeInfo = new JPanel();
jpTimeInfo.setLayout(null);
jpTimeInfo.setBackground(new Color(154, 217, 250));
jpTimeInfo.setSize(1200, 100);
// 总秒数
labSetTime = new JLabel("计时总秒数 : ", JLabel.CENTER);
labSetTime.setFont(new Font("微软雅黑", 0, 20));
jpTimeInfo.add(labSetTime).setBounds(0, 10, 400, 80);
// 已过秒数
labPassTime = new JLabel("已过秒数 : ", JLabel.CENTER);
labPassTime.setFont(new Font("微软雅黑", 0, 20));
jpTimeInfo.add(labPassTime).setBounds(400, 10, 400, 80);
// 剩余秒数
labRemainTime = new JLabel("剩余秒数 : ", JLabel.CENTER);
labRemainTime.setFont(new Font("微软雅黑", 0, 20));
jpTimeInfo.add(labRemainTime).setBounds(800, 10, 400, 80); jpSetting.add(jpTimeInfo).setBounds(0, 300, 1200, 100);
}

5.课程设计感想

虽然时间紧迫,但是做了组长还是要负责好课设,于是和组员一直讨论要怎么搞才好,沟通交流是做课设最主要的,分配好各自的工作然后讨论交流才让我们的课设最终完成。最后的最后,不懂的~要百度~

Java课程设计-定时器的更多相关文章

  1. Java课程设计-定时器(团队)

    一.团队介绍(没头脑和不高兴) 陈文俊[组长] 201521123047 网络1512 宣委 郑子熙 201521123045 网络1512 二.项目Git链接 定时器 三.项目git提交记录截图 四 ...

  2. 201521123045java课程设计---定时器

    #课程设计--定时器(201521123045 郑子熙) 1.团队课程设计博客链接 http://www.cnblogs.com/chendajia/p/7065730.html 2.个人负责模块或任 ...

  3. java(课程设计之记事本界面部分代码公布)

    代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...

  4. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  5. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  6. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  7. java课程设计--We Talk(201521123061)

    java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...

  8. Java 课程设计 "Give it up"小游戏(团队)

    JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...

  9. Java课程设计----仿Windows标准型计算器

    JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...

随机推荐

  1. CentOS7开机提示welcome to emergency mode!after logging in...

    CentOS7.3昨天用的还好好的的,但是今天开机提示如下(如图提示): welcome to emergency mode!after logging in ,type "journalc ...

  2. mysql shutdown and kill

    --mysqladmin shutdown If you execute mysqladmin shutdown when connecting to a local server using a U ...

  3. IIS 发布之后 您要找的资源已被删除、已更名或暂时不可用。 404.0 解决方法

    步骤一: 如图,我发布网站后,在应用程序池中看到默认的.NetFreamork是2.0版本的,我把它改为4.0后 重新浏览网页就正常了. 如果还是不行,那么进行第二步,

  4. js基础语法习题补充

    输入三个整数,x,y,z,最终以从小到大的方式输出. <<script> var x=prompt("请输入数字") var y=prompt("请输入 ...

  5. 【Oracle】控制文件管理

    /* 控制文件是oracle数据库最重要的物理文件之一,每个oracle数据库都必须有一个控制文件,在启动数据库实例时, oracle会根据初始化参数查找到控制文件的名称及位置信息,并读取控制文件的内 ...

  6. Leetcode - Letter Combination Of A Phone Number

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  7. collection 模块

    关于一些 特殊数据类型的模块 namedtuple顾名思义,一个带有名字的元祖,他也是跟对象有关的一个 from collections import namedtuple phone = named ...

  8. Vim中常用的命令行

    Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...

  9. 递归调用里的性能问题(js)

    说明 这是在codewars.com上刷的一道js练习题,在此做个记录 问题描述 The Fibonacci sequence is traditionally used to explain tre ...

  10. mysql排序

    MySQL里desc和asc的意思    desc是descend 降序意思     asc 是ascend 升序意思    sql = "select 表内容名    from   数据库 ...