标签:io os ar 使用 java for sp on art
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()); // 文字框内容调用c lbl.setLocation(150, 170); // 位置 顶掉Bounds的位置设置 j.add(lbl); j.setVisible(true); // 窗口可视 timer = new Timer(500, new ActionListener() { // 这里这里不能手书 选择正确的自动出下面 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub c.back(); // 时钟要干啥,写这里 lbl.setText(c.toString()); if (c.toString().equals("00:00:00")) { lbl.setText("时间到");//时钟停止显示这个 timer.stop(); } } }); // 创建计时器对象 timer.start();// 启动计时器 sc.close(); } }
标签:io os ar 使用 java for sp on art
原文地址:http://blog.csdn.net/anubies/article/details/40410213