Java实现局部内部类的简单应用
2014-02-22 16:41
471 查看
日常生活中,闹钟的应用非常广泛。使用它可以更好地帮助人们安排时间。编写程序,实现一个非常简单的闹钟,控制台会不断输出当前的时间,并且每隔一秒钟会发出提示音。用户可以单击“确定”按钮来退出程序。
思路分析:
首先定义一个外部类,此外部类包括延迟时间和提示标志两个成员变量,通过构造函数来获取这两个参数;
在此外部类中定义一个方法作为闹钟的启动函数;
在该方法中定义一个局部内部类来实现ActionListener接口,重写actionPerformed()方法,使用SimpleDateFormat类和Date()方法获取系统的当前时间并输出,判断提示标志,若为true则使用Toolkit.getDefaultToolkit().beep();重复之前的输出方法;创建一个新的Timer()对象来重复输出;
在主方法中创建对象并实例化后,使用JOptionPane类的showMessageDialog()方法弹出提示框来让用户选择是否退出。
代码如下:
效果如图:
思路分析:
首先定义一个外部类,此外部类包括延迟时间和提示标志两个成员变量,通过构造函数来获取这两个参数;
在此外部类中定义一个方法作为闹钟的启动函数;
在该方法中定义一个局部内部类来实现ActionListener接口,重写actionPerformed()方法,使用SimpleDateFormat类和Date()方法获取系统的当前时间并输出,判断提示标志,若为true则使用Toolkit.getDefaultToolkit().beep();重复之前的输出方法;创建一个新的Timer()对象来重复输出;
在主方法中创建对象并实例化后,使用JOptionPane类的showMessageDialog()方法弹出提示框来让用户选择是否退出。
代码如下:
import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.Timer; public class AlarmClock { private int delay; private boolean flag; public AlarmClock(int delay, boolean flag) { this.delay = delay; this.flag = flag; } public void start() { class Printer implements ActionListener { @Override public void actionPerformed(ActionEvent e) { SimpleDateFormat format = new SimpleDateFormat("k:m:s"); String result = format.format(new Date()); System.out.println("当前的时间是:" + result); if (flag) { Toolkit.getDefaultToolkit().beep(); } } } new Timer(delay, new Printer()).start(); } } import javax.swing.JOptionPane; public class Test { public static void main(String[] args) { AlarmClock clock = new AlarmClock(1000, true); clock.start(); JOptionPane.showMessageDialog(null, "是否退出?"); System.exit(0); } }
效果如图:
相关文章推荐
- java-使用局部内部类实现闹钟的应用
- 局部内部类的例子代码及实现最简单闹钟应用
- Java小品——简单的JDBC应用实现。
- Dom4j解析XML简单应用,XStream实现Java、XML转换
- android 应用内部悬浮可拖动按钮简单实现代码
- JAVA中JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
- Java实现策略模式的简单应用
- Java数据结构之队列的实现以及队列的应用之----简单生产者消费者应用
- JAVA实现最简单的双向链表、队列与栈(内部使用链表形式存储)
- java实现svn,svnkit框架的简单应用
- java 局部内部类的一般用途是实现某个接口,并作为这个接口传出方法被使用
- Ajax实现局部刷新和异步处理简单应用(实现简单注册验证)
- [零基础学JAVA]Java SE应用部分-31.Java IO操作(05)IO操作实例讲解之实现简单MIS 推荐
- 数据结构实验之串一:KMP简单应用(java实现)
- 3ff0 C语言实现一种简单的应用服务器内部数据结构的思路(二)
- Java实现匿名内部类的简单应用
- Java Calendar类简单应用:实现可视化日历
- java 实现RSA 加密解密工具类及其内部简单流程
- Java中Date与Calendar小究以及应用Gregoriancalendar类实现简单的日历
- Java编程的逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库