java 闹钟代码_JAVA可视化闹钟源码

1 packageClock;23 importsun.audio.AudioPlayer;4 importsun.audio.AudioStream;56 import javax.swing.*; //awt和swing是做界面用的类7 import java.awt.*;8 importjava.awt.event.ActionEvent;9 importjava...
摘要由CSDN通过智能技术生成

1 packageClock;2

3 importsun.audio.AudioPlayer;4 importsun.audio.AudioStream;5

6 import javax.swing.*; //awt和swing是做界面用的类

7 import java.awt.*;8 importjava.awt.event.ActionEvent;9 importjava.awt.event.ActionListener;10 importjava.awt.event.WindowAdapter;11 importjava.awt.event.WindowEvent;12 import java.io.*; //io流用于读写文件,包括增删闹钟、打开铃声等等

13 import java.util.Calendar; //用于获取当前时间的类

14 import java.util.GregorianCalendar;//标准阳历

15 import java.util.StringTokenizer; //读取文件转换成计算机语言用的类

16 /*

17 1 计时器18 要求1:一个带有可视化界面的钟表。19 要求2:可以添加若干个闹钟。20 要求3:具备持久化功能,关闭程序不能丢失闹钟。21 要求4:闹钟是可编辑,可删除的。22

23 实现:先创建一个面板显示闹钟,面板内创建按钮增加闹钟,按钮查看闹钟,按钮删除闹钟24 线程间隔1s读取时间和闹钟比较25

26 */

27 public class ClockTry extends JFrame implementsRunnable {28 /*成员变量*/

29 private JPanel xx; //总的面板

30 private JComboBox ho; //hour选择时间的下拉框

31 private JComboBox mi; //min选择分钟的下拉框

32 private JButton tjnz; //添加闹钟的按钮

33 private JButton schour; //删除闹钟的按钮

34 private String filename = "D://homework//java//Gui//src//Clock//0.wav"; //所有的路径改这两个地方就可以了

35 private String pathname = "D://homework//java//Gui//src//Clock//nz.txt"; //绝对路径或相对路径都可以,写入文件时演示相对路径,读取以上路径的input.txt文件

36

37 private int HOUR; //定义HOUR用于接收按钮按下从下拉框中获取的数据

38 private int MIN; //同上

39

40 int x = 100, y = 100, r = 100; //(x,y)为(0,0)点,表示原点

41 int h, m, s; //时,分,秒

42 double rad = Math.PI / 180; //1°

43

44 private String[][] str= new String[100][2]; //定义二维数组,用于存储以及对小时和分针的操作,暂定为100个闹钟于是定义为【100】【2】

45 /**

46 *读取文件,每次的增删都需要对数据进行读取,将数据写在面板上也需要读取数据47 */

48 public voidreadFile() {49 try (FileReader reader = new FileReader(pathname); //创建一个FilReader对象,将文件读出来,相当于请教一个当地人,当地人了解本地文化,但是语言不通听不懂

50 BufferedReader br = new BufferedReader(reader) //建立一个对象,它把文件内容转成计算机能读懂的语言,相当于请一个翻译,把当地人读取的东西转换成计算机能懂的东西

51 ) {52 String line;53

54 int i =0;55 while ((line = br.readLine()) != null) { //翻译理解的东西存到line里面

56 int j =0;57 StringTokenizer st = new StringTokenizer(line, ":"); //重点:由于存储数据时都是时间,道理来说都是数字,无法区分小时部分和分钟部分

58 while (st.hasMoreTokens()){ //每读取一次读到的内容//所以这里用分割符“:”来分割,相应的,后面的写入文件也应该已“:”分割进行写入

59 str[i][j]=st.nextToken(); //把读到的内容存储在数组里面便于后面的操做——增删

60 j++; //包括上面的j=0,是将for循环拆分放进while循环中ÿ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值