
package comkaylves;
import javatextSimpleDateFormat;
import javautilDate;
import javaxswingJFrame;
import javaxswingJLabel;
public class Clock {
public static void main(String[] args) throws InterruptedException {
JFrame f = new JFrame();
Timer timer = new Timer();
Thread th=new Thread(timer);
thstart();
JLabel time = new JLabel();
fadd(time);
fsetVisible(true);
fpack();
while(true){
timesetText(timergetCurrentTime());
}
}
}
class Timer implements Runnable {
private String currentTime;
public String getCurrentTime() {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
currentTime = sdfformat(d);
return currentTime;
}
public void run() {
try {
Threadsleep(1000);
getCurrentTime();
} catch (InterruptedException e) {
eprintStackTrace();
}
}
}
完成给分
import javautilCalendar;
public class Clock {
private int hour, mintue, second;
public Clock(){
this(0, 0, 0);
}
public Clock(int hour, int minute, int second){
thishour = hour;
thismintue = minute;
thissecond = second;
}
public void incsecond(){
Calendar cal = CalendargetInstance();
calset(CalendarHOUR, hour);
calset(CalendarMINUTE, mintue);
calset(CalendarSECOND, second);
caladd(CalendarSECOND, 1);
thishour = calget(CalendarHOUR);
thismintue = calget(CalendarMINUTE);
thissecond = calget(CalendarSECOND);
}
public String toString(){
return hour + ":" +mintue + ":" + second;
}
public void setHour(int hour) {
thishour = hour;
}
public void setMintue(int mintue) {
thismintue = mintue;
}
public void setSecond(int second) {
thissecond = second;
}
public static void main(String[] args) {
}
}
public class A {
public static void main(String[] args) {
Clock clock = new Clock(13, 20, 38);
Systemoutprint(clock);
}
}
class Clock {
private int hour;
private int minute;
private int second;
public Clock(int hour, int minute, int second) {
super();
thishour = hour;
thisminute = minute;
thissecond = second;
}
public int getHour() {
return hour;
}
public void setHour(int hour) {
thishour = hour;
}
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
thisminute = minute;
}
public int getSecond() {
return second;
}
public void setSecond(int second) {
thissecond = second;
}
@Override
public String toString() {
return "现在时间是:" + hour + "时" + minute + "分" + second + "秒";
}
}
//这是新建了一个public类,名称为Time
public class Time{
//其中有三个变量,表示时分秒
private int hour;
private int minute;
private int second;
//此处即为空参数的构造函数,即当声明这个类的对象时,怎样初始化这个对象里面的值
//每个对象都表示个时间。
//这个构造函数调用了这个类里面的有三个参数的构造函数。
public Time(){
this(0,0,0);
}
//此处为一个参数的构造函数
public Time(int h){
this(h,0,0);
}
//此处为二个参数的构造函数
public Time(int h,int m){
this(h,m,0);
}
//此处为三个参数的构造函数,即前面的构造函数调用了这个构造函数来初始化对象的时间值
public Time(int h,int m,int s){
setTime(h,m,s);
}
//此处是构造函数,参数为这个类的对象:
//即用一个已经表示一个时间的Time对象来创建一个和它一样的时间对象
public Time(Time time){
this(timegetHour(),timegetMinute(),timegetSecond());
}
//设置时间值
public void setTime(int h,int m,int s){
setHour(h);
setMinute(m);
setSecond(s);
}
//设置时
public void setHour(int h){
hour=((h>=0&&h<24)h:0);
}
//设置分
public void setMinute(int m){
minute=((m>=0&&m<60)m:0);
}
//设置秒
public void setSecong(int s){
second=((s>=0&&s<60)s:0);
}
//获得这个时间对象的时
public int getHour(){
return hour;
}
//获得分
public int getMinute(){
return minute;
}
//获得秒
public int getSecond(){
return second;
}
//格式化时间成为串
public String toUniversalString(){
return Stringformat("%d:%02d:%02d",getHour(),getMinute(),getSecond());
}
//格式化这个时间成为串
public String toString(){
return Stringformat("%d:%02d:%02d%s",((getHour()==0||getHour()==12)12:getHour()%12),getMinute(),getSecond(),(getHour()<12"AM":"PM"));
}
}
构造方法:通过这个程序可以看出,一个时间对象表示一个时间,有时分秒,那么创建对象要给它表示个时间,构造函数就是初始化有关的 *** 作。
比如我创建一个对象Time time0=new Time(8,20,20);那么time0就表示8:20:20。
构造函数通常的格式是:public + 类名称(参数列表){},记住,它没有返回值。
重载:可以看到里面不只一个构造函数,这就是重载。你可能并不一定要确切的时分秒或其它,这样就可以调用不同的构造函数。
比如:Time time1=new Time(time0);这也创建了对象,此对象表示的时间和time0是一样的。
重载的意思是一个函数,参数列表的不同可以实现不同的功能。
import javaawt;
import javaappletApplet;
import javautilCalendar;
import javatextSimpleDateFormat;
import javautilDate;
public class ClockApplet extends Applet implements Runnable //Applet支持线程
{
private Thread athread; //线程
private SimpleDateFormat sdateformat; //日期格式
public void init()
{
thissetBackground(Colorwhite);//背景颜色设为白色
thisathread = null;
}
public void paint(Graphics g)
{
thissdateformat = new SimpleDateFormat("hh时mm分ss秒");
gdrawString(thissdateformatformat(new Date()),25,131);
Calendar rightnow = CalendargetInstance();
int second = rightnowget(CalendarSECOND);
int minute = rightnowget(CalendarMINUTE);
int hour = rightnowget(CalendarHOUR);
//半径
int R_H = 20,R_M = 4,R_S = 4;
//时针的坐标
//x ====(9-3)[0-6] (3-9)[6-0]
//y ====(12-6)[0-6] (6-12)[6-0]
int H_x ;
int H_y;
//x
if(hour == 0)
{
hour = 12;
}
if( hour >= 3 && hour <= 9 )
{
H_x = R_HMathabs(hour - 9);
}
else
{
if(hour > 9)
{
H_x = R_HMathabs(hour - 9);
}
else
{
H_x = R_HMathabs(hour+3);
}
}
//y
if( hour >= 6 && hour <= 12 )
{
H_y = R_HMathabs(hour - 12);
}
else
{
H_y = R_Hhour;
}
//分针的坐标
int M_x;
int M_y;
if(minute == 0)
{
minute = 60;
}
if( minute >= 15 && minute <= 45 )
{
M_x = R_MMathabs(minute - 45);
}
else
{
if(minute > 45)
{
M_x = R_MMathabs(minute - 45);
}
else
{
M_x = R_MMathabs(minute+15);
}
}
//y
if( minute >= 30 && minute < 60 )
{
M_y = R_MMathabs(minute - 60);
}
else
{
M_y = R_Mminute;
}
//秒针的坐标
int S_x;
int S_y;
if(second == 0)
{
second = 60;
}
if( second >= 15 && second <= 45 )
{
S_x = R_SMathabs(second - 45);
}
else
{
if(second > 45)
{
S_x = R_SMathabs(second - 45);
}
else
{
S_x = R_SMathabs(second+15);
}
}
//y
if( second >= 30 && second <= 60 )
{
S_y = R_SMathabs(second - 60);
}
else
{
S_y = R_Ssecond;
}
// gdrawString(StringvalueOf(second),25,50);
// gdrawString(StringvalueOf(minute),25,60);
// gdrawString(StringvalueOf(hour),25,70);
// gdrawString(StringvalueOf(H_x),25,80);
// gdrawString(StringvalueOf(H_y),25,90);
gdrawOval(0,0,120,120);//距离相差10像素
gsetColor(ColordarkGray);
gdrawString("9",5,65);
gdrawString("3",110,65);
gdrawString("12",55,15);
gdrawString("6",55,115);
gdrawString("1",80,20);
gdrawString("2",100,40);
gdrawString("4",100,90);
gdrawString("5",80,110);
gdrawString("7",30,110);
gdrawString("8",10,90);
gdrawString("10",10,40);
gdrawString("11",30,20);
gsetColor(Colorred);
gdrawLine(60,60,H_x,H_y);//前一个点表示起点,另一个表示终点
gsetColor(Colorblue);
gdrawLine(60,60,M_x,M_y);
gsetColor(Coloryellow);
gdrawLine(60,60,S_x,S_y);
}
public void start()
{
if(athread == null)
{
athread = new Thread(this);
athreadstart();
}
}
public void stop()
{
if(athread != null)
{
athreadinterrupt();
athread = null;
}
}
public void run()
{
while(athread != null)
{
repaint();
try
{
athreadsleep(1000);
}
catch(InterruptedException e)
{
}
}
}
}
以上就是关于求用java语言设计一个动态时钟,每秒刷新一次全部的内容,包括:求用java语言设计一个动态时钟,每秒刷新一次、java程序设计 定义一个时钟类,要求如下1,创建新对象时默认0时0分0秒。 2,设置时钟为指定的时间。3,编写、写一个时钟的java类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)