Java课程设计-定时器(团队)
一、团队介绍(没头脑和不高兴)
- 陈文俊[组长] 201521123047 网络1512 宣委

- 郑子熙 201521123045 网络1512

二、项目Git链接
三、项目git提交记录截图

四、项目功能架构图与主要功能流程图

五、项目运行截图
界面

输入时间

运行一段时间后暂停

隐藏倒计时面板

六、程序关键代码
public class Time {
public static String getTime(int seconds) {
Integer hours = seconds / 3600;
Integer minutes = seconds / 60;
Integer second = seconds % 60;
String time = "";
if (minutes >= 60)
minutes %= 60;
if (hours < 10)
time += "0" + hours + " : ";
else
time += hours + " : ";
if (minutes < 10)
time += "0" + minutes + " : ";
else
time += minutes + " : ";
if (second < 10)
time += "0" + second;
else
time += second;
return time;
}
public static Integer getSeconds(Integer hours, Integer minutes, Integer seconds) {
return hours * 3600 + minutes * 60 + seconds;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnBegin) {
if (tfdHours.getText().equals("") || tfdHours.getText() == null || tfdMinutes.getText().equals("")
|| tfdMinutes.getText() == null || tfdSeconds.getText().equals("") || tfdSeconds == null) {
JOptionPane.showMessageDialog(null, "请完成倒计时设置", "提示", JOptionPane.PLAIN_MESSAGE);
} else {
showTime = Time.getSeconds(new Integer(tfdHours.getText()), new Integer(tfdMinutes.getText()),
new Integer(tfdSeconds.getText()));
setTime = showTime;
// 改变面板值
labTime.setText(Time.getTime(showTime));
labSetTime.setText("计时总秒数 : " + setTime);
tfdHours.setText("");
tfdMinutes.setText("");
tfdSeconds.setText("");
flag = true;
new Thread(this).start();
}
}
if (e.getSource() == btnPause) {
flag = false;
}
if (e.getSource() == btnContinue) {
flag = true;
new Thread(this).start();
}
if (e.getSource() == btnHidden) {
this.remove(jpShowTime);
repaint();
}
if (e.getSource() == btnShow) {
this.add(jpShowTime).setBounds(0, 400, 1200, 400);
repaint();
}
if (e.getSource() == btnExit) {
System.exit(-1);
}
}
public void run() {
while (true) {
if (showTime <= 0) {
JOptionPane.showMessageDialog(null, "时间到", "提示", JOptionPane.PLAIN_MESSAGE);
break;
}
// 判断暂停
if (!flag) {
break;
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
showTime -= 1;
labTime.setText(Time.getTime(showTime));
labPassTime.setText("已过秒数 : " + (setTime - showTime));
labRemainTime.setText("剩余秒数 : " + showTime);
}
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_F8) {
if (tfdHours.getText().equals("") || tfdHours.getText() == null || tfdMinutes.getText().equals("")
|| tfdMinutes.getText() == null || tfdSeconds.getText().equals("") || tfdSeconds == null) {
JOptionPane.showMessageDialog(null, "请完成倒计时设置", "提示", JOptionPane.PLAIN_MESSAGE);
} else {
showTime = Time.getSeconds(new Integer(tfdHours.getText()), new Integer(tfdMinutes.getText()),
new Integer(tfdSeconds.getText()));
setTime = showTime;
// 改变面板值
labTime.setText(Time.getTime(showTime));
labSetTime.setText("计时总秒数 : " + setTime);
tfdHours.setText("");
tfdMinutes.setText("");
tfdSeconds.setText("");
flag = true;
new Thread(this).start();
}
} else if (e.getKeyCode() == KeyEvent.VK_F9) {
flag = false;
} else if (e.getKeyCode() == KeyEvent.VK_F10) {
flag = true;
new Thread(this).start();
} else if (e.getKeyCode() == KeyEvent.VK_F11) {
this.remove(jpShowTime);
repaint();
} else if (e.getKeyCode() == KeyEvent.VK_F12) {
this.add(jpShowTime).setBounds(0, 400, 1200, 400);
repaint();
}
}
public void keyReleased(KeyEvent e) {
}
}
七、尚待改进或者新的想法
界面可以花时间做得更加美观,还用图标来代替按钮。
八、团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长。
| 姓名 | 学号 | 任务分配 | 博客地址 |
|---|---|---|---|
| 陈文俊[组长] | 201521123047 | 框架构建、时间设置面板、倒计时面板、按钮设置 | 博客地址 |
| 郑子熙 | 201521123045 | main函数的编写、负责TIme函数的编写、用于计算时间、按钮功能的实现 | 博客地址 |
Java课程设计-定时器(团队)的更多相关文章
- Java课程设计-定时器
Java课程设计--定时器 1.团队课程设计博客链接 团队博客地址 2.个人负责模块或任务说明 框架构建 时间设置面板,倒计时面板 按钮设置 3.自己的代码提交记录截图 4.自己负责模块或任务详细说明 ...
- Java课程设计——计算器团队博客
1.团队名称.团队成员介绍(需要有照片) 1.1团队名称 707 1.2团队成员介绍 谢元将:组长 罗登宇:组员 王华俊:组员 2. 项目git地址 谢元将 罗登宇 王华俊 3. 项目git提交记录截 ...
- Java课程设计——象棋(201521123042 姚佳希)
1. 团队课程设计博客链接 Java课程设计(团队版) 2 个人负责模块或任务说明 ChessBoard类创建棋盘及界面. ChessPoint类创建棋盘格点及界面. ChessPiece类创建棋子及 ...
- Java 课程设计 "Give it up"小游戏(团队)
JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...
- java课程设计--猜数字(团队博客)
java课程设计--猜数字(团队博客) 1.团队名称以及团队成员介绍 团队名称:cz 团队成员:陈伟泽,詹昌锦 团队照片: 2.项目git地址 http://git.oschina.net/Devil ...
- Java课程设计博客(团队)
Java课程设计博客(团队) 1. 团队/项目名称 使用JAVA实现简易HTTP服务器 2. 团队成员 组长:林一心 组员:张杭镖 3. 项目git地址 https://github.com/oran ...
- JAVA课程设计——团队博客
JAVA课程设计--团队博客 1. 团队名称.团队成员介绍(需要有照片) 团队名称:"小羊吃蓝莓"小游戏 团队成员介绍: 成员 班级 学号 廖怡洁 网络1513 201521123 ...
- JAVA课程设计+五子棋(团队博客)
JAVA课程设计 利用所学习的JAVA知识设计一个五子棋小游戏 1.团队名称.团队成员介绍(菜鸟三人组) 杨泽斌[组长]:201521123049 网络1512 叶文柠[组员]:20152112305 ...
- java课程设计团队博客
java课程设计 本组主题:Calculator(简易计算器) 功能要求:基本实现计算器的功能,可运行加.减.乘.除.求倒数.求平方根.求百分号运算.正负数运算等 一.团队介绍 团队名称:熬夜做不出随 ...
随机推荐
- Mac terminal commands
Mac terminal commands 1.install_name_tool修改dylib安装名称的命令 2.codesign 签名及查看 3.xcode 工程编译 4.程序打包app---&g ...
- Pivot-Header的花式效果
要实现如上图所示的效果分为三步: 1.重写Pivot样式,去掉Pivot的Header或者是直接使用默认的Pivot的样式然后不写Header 2.使用一个ListView或者是横向的StackPan ...
- 如何理解iOS的“对象等同性”
在iOS开发过程中,我们经常需要用到等同性来判断两个对象是否相等,通常我们会使用==来判断,但是这样比较出来的结果可能不是我们期望的:所以,一般我们会使用NSObject协议声明的isEqual方法来 ...
- Silverlight——施工计划日报表(一)
前一段时间,客户需要一个施工计划报表,要求能够直观的看到各个计划的实施时间,而且能够修改.琢磨着,决定用Silverlight搞定好了.效果如下: 用户可以通过右键菜单的[完成]选项来标记完成,左键选 ...
- jsp中一些重要的问题
jsp [1] 简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅长显 ...
- fs模块练习
1.fs+path练习01.判断 当前路径下的public是否存在,不存在则创建02.判断 public下的index.html文件是否存在,不存在则创建 <h1>index</h1 ...
- Python量化投资知识总结贴
Ricequant 量化社区的初衷让各位爱好量化的人士可以碰撞思维,在分享和争辩中学习到有用且实战的量化知识.有赖于各位在社区中贡献满满的干货以及有质量的讨论,从编程入门教学到技术指标再到多因子选股. ...
- 用xml画水平虚线和竖直虚线.md
1.画水平虚线 直接建一个shape,设置stroke属性就行了,再将这个属性直接作为background的drawable属性引入就行了 注意在4.0以上的真机加一句 <?xml versio ...
- 多线程编程学习一(Java多线程的基础).
一.进程和线程的概念 进程:一次程序的执行称为一个进程,每个 进程有独立的代码和数据空间,进程间切换的开销比较大,一个进程包含1—n个线程.进程是资源分享的最小单位. 线程:同一类线程共享代码和数据空 ...
- MongoDB三节点高可用模式安装
设备: 三个1G.20G.1核的虚拟机,系统是SentOS7 min 清除原始自数据目录: rm -fr /home/mongosingle/ 创建目录: mkdir -p /home/mongosi ...