JAVA程序设计(07.3)-----面对对象设计 时钟
来源:互联网 发布:php程序员发展前景 编辑:程序博客网 时间:2024/05/17 08:04
1.面对对象设计 时钟的类 3种录入方式(重载)
package com.lovo;import java.text.DecimalFormat;import java.util.Calendar;/** * 时钟 类 * @author Abe * *//** * 属性, 小时,分钟,秒 * * @author Abe * */public class Clock {private int hour;private int min;private int sec;/** * 构造器1 直接输入 */public Clock(int hour, int min, int sec) {this.hour = hour;this.min = min;this.sec = sec;}/** * 构造器2 输入字符串 自动分割录入 * * @param str */public Clock(String str) {String s1 = str.split(":")[0];String s2 = str.split(":")[1];String s3 = str.split(":")[2];this.hour = Integer.parseInt(s1);this.min = Integer.parseInt(s2);this.sec = Integer.parseInt(s3);}/** * 构造器3 默认构造器 录入系统时间 */public Clock() {Calendar cal = Calendar.getInstance();this.hour = cal.get(Calendar.HOUR_OF_DAY);this.min = cal.get(Calendar.MINUTE);this.sec = cal.get(Calendar.SECOND);}/** * 动作:走秒 */public Clock go() {sec++;if (sec == 60) {min++;sec = 0;}if (min == 60) {hour++;min = 0;}if (hour == 24) {hour = 0;}return this;}/** * 动作:倒计时 */public Clock back() {if (sec > 0) {sec--;} else if (min > 0) {min--;sec = 59;} else if (hour > 0) {hour--;min = 59;sec = 59;}return this;}/** * 输出内存地址 换为字符串 */public String toString() {DecimalFormat df = new DecimalFormat("00");return df.format(hour) + ":" + df.format(min) + ":" + df.format(sec);}}
然后是在弹出窗口中显示倒计时
package com.lovo;/** * 时钟在弹出窗口中运行 * @author Abe */import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Scanner;import java.util.concurrent.Delayed;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.Timer;public class Clockshow {public static Timer timer = null;public static void main(String[] args) {Scanner sc = new Scanner(System.in);// System.out.printf("请输入现在的时间:");final Clock c = new Clock("1:0:4");JFrame j = new JFrame();j.setSize(600, 480);j.setResizable(false);j.setLocationRelativeTo(null);j.setTitle("小心炸弹");j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JLabel lbl = new JLabel("时间", JLabel.CENTER); // 新建内容,填充文字“时间”// 文字位置居中Font font = new Font("微软雅黑", Font.PLAIN, 60); // 设置格式 字体,加粗等,大小lbl.setFont(font); // 文字框调用字体格式j.setLayout(null); // 开启布局管理器 之后Bounds才能使用lbl.setBounds(100, 100, 300, 100); // 文字框 位置 大小 开启之后Location才能使用lbl.setText(c.toString()); // 文字框内容调用clbl.setLocation(150, 170); // 位置 顶掉Bounds的位置设置j.add(lbl);j.setVisible(true); // 窗口可视timer = new Timer(500, new ActionListener() { // 这里这里不能手书 选择正确的自动出下面@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubc.back(); // 时钟要干啥,写这里lbl.setText(c.toString());if (c.toString().equals("00:00:00")) {lbl.setText("时间到");//时钟停止显示这个timer.stop();}}}); // 创建计时器对象timer.start();// 启动计时器sc.close();}}
0 0
- JAVA程序设计(07.3)-----面对对象设计 时钟
- JAVA程序设计(07.2)-----面对对象设计练习 猜拳
- JAVA程序设计(07.1)-----用面对对象设计的方法编制程序练习 1~100猜数
- JAVA程序设计(09)-----面对对象设计初级应用 奥特曼打小怪兽
- JAVA程序设计(09)-----面对对象设计初级应用 龟兔赛跑
- JAVA程序设计(11)-----面对对象初级设计 麻将 创建麻将牌 然后洗牌 发牌~ 恩 就这样
- 面对对象程序设计1
- 面对对象设计原则
- Java面对对象思想
- java/面对对象
- java/面对对象基础
- Java面对对象入门
- Java面对对象入门
- java面对对象
- Java面对对象多态性
- JAVA面对对象
- java面对对象
- javascript之面对对象设计
- 在android studio中安装genymotion插件
- hdu 2196 (树形DP)
- $NDK_ROOT/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/arm-linux-androideabi/bin/nm
- [原]SDL开发教程
- libevent的安装和部分使用代码
- JAVA程序设计(07.3)-----面对对象设计 时钟
- 在CSDN安家,记录自己的学习历程
- Maven入门
- phonegap上传以及下载图片
- Java Hashtable分析与冲突处理
- ural 1019 Line Painting(线段树)
- C++与正态分布
- 实验三——顺序栈
- android listview 中集成侧滑功能