用java编写一个控制时间的程序

 我来答
wozhusanlou
2012-03-21 · TA获得超过468个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:181万
展开全部
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class GetNowTimeDemo{
JFrame frame;
JTextArea displayArea1;
JTextArea displayArea2;
String timestr;

Calendar calendar;
Date currentDate;

SimpleDateFormat sdfyear;//年份格式
SimpleDateFormat sdfmonday;//月份、日期格式
SimpleDateFormat sdfeee;//星期格式
//SimpleDateFormat sdftime;//具体时间格式

String stryear;//年份
String strmonday;//月份、日期
String streee;//星期

String nowTime;
TimeThread timeThread;
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss",Locale.getDefault());

//程序主操作函数
public GetNowTimeDemo(){
frame=new JFrame("现在时间");//显示框容器
frame.setLayout(null);

displayArea1=new JTextArea();//大时间显示框
displayArea1.setFont(new Font("宋体",Font.BOLD,30));//设置显示框字体
displayArea1.setBounds(0,0,400,250);
frame.add(displayArea1);//将时间显示框加载到容器中
displayArea1.setEditable(false);

displayArea2=new JTextArea();//具体时间显示框
displayArea2.setFont(new Font("宋体",Font.BOLD,40));//设置显示框字体
displayArea2.setBounds(0,250,400,100);
frame.add(displayArea2);//将时间显示框加载到容器中
displayArea2.setEditable(false);
displayArea2.setForeground(Color.blue);

JPanel panelCon1=new JPanel();//控制面板1
panelCon1.setBounds(0,350,400,80);
frame.add(panelCon1);//将控制面板加载到容器中

JButton getTime=new JButton("获取时间");//获取时间按钮
panelCon1.add(getTime);//将获取时间按钮加载到控制面板
getTime.addActionListener(new ActionListener(){//获取时间按钮添加动作监听器

public void actionPerformed(ActionEvent e) {//动作监听函数
GetDisTime();//获取并显示时间
}

});

JButton exit=new JButton("退出");//退出按钮
panelCon1.add(exit);//将退出按钮添加到控制面板
exit.addActionListener(new ActionListener(){//退出按钮添加动作监听器

public void actionPerformed(ActionEvent e) {
System.exit(0);//退出
}

});

frame.setLocation(250,50);//设置显示框出现位置
frame.setSize(400,430);//设置显示框大小
frame.setVisible(true);//设置显示框可见性
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置错误处理
}

//获取时间并显示函数
@SuppressWarnings("deprecation")
public void GetDisTime(){
try{
displayArea1.setText("");

calendar=Calendar.getInstance();//获得系统时间日历

currentDate=calendar.getTime();//格式化日历

sdfyear=new SimpleDateFormat("yyyy",Locale.getDefault());//年份格式
stryear=sdfyear.format(currentDate);//年份格式化显示
displayArea1.append("\n\t"+stryear);//年份显示

sdfmonday=new SimpleDateFormat("MMM dd",Locale.getDefault());//月份、日期格式
strmonday=sdfmonday.format(currentDate);//月份、日期格式化显示
displayArea1.append("\n\n\t"+strmonday);//月份、日期显示

sdfeee=new SimpleDateFormat("EEE",Locale.getDefault());//星期格式
streee=sdfeee.format(currentDate);//星期格式化显示
displayArea1.append("\n\n\t"+streee);//星期显示

String time=new Date().toLocaleString();

displayArea1.append("\n"+time);

timeThread=new TimeThread();
timeThread.start();//时间线程启动

//sdftime=new SimpleDateFormat("hh:mm:ss",Locale.getDefault());//具体时间格式
//strtime=sdftime.format(currentDate);//具体时间格式化显示
//displayArea.append("\n\n\t"+strtime);//具体时间显示

//int hour=calendar.get(calendar.HOUR_OF_DAY);
//int minute=calendar.get(calendar.MINUTE);
//int second=calendar.get(calendar.SECOND);

//displayArea.append("\n\n\thour= "+hour+"\n\tminute= "
//+minute+"\n\tsecond= "+second);

}catch(Exception e1){
JOptionPane.showMessageDialog(null,"获取时间出错!");
}
}

class TimeThread extends Thread{
public void run(){
while(true){
try{
calendar=Calendar.getInstance();//获得时间
currentDate=calendar.getTime();//转化为格式化时间
nowTime=sdf.format(currentDate);//将格式化时间转化为设置的String

displayArea2.setText("");
displayArea2.append(" "+nowTime);

Thread.sleep(999);//休眠990us
}catch(Exception e1){
JOptionPane.showMessageDialog(null, "获取时间出错!");
}
}
}
}

//程序主函数
public static void main(String args[]){
new GetNowTimeDemo();
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Java火狐
2012-03-23 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:143万
展开全部
想控制什么?内容具体一些,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
angelsun0909
2012-03-21
知道答主
回答量:21
采纳率:0%
帮助的人:10.5万
展开全部
具体要求是什么?请说详细些。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式