資源簡介
此資源是一個用JAVA編制的時鐘程序,此壓縮包包含有java和word文件各一個,可實現當前時間的數字式和表盤式顯示,用戶可根據自己的需求對窗口數值進行修改,以達到自身的需求。

代碼片段和文件信息
import?java.awt.BasicStroke;
import?java.awt.*;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.util.Calendar;
import?java.util.GregorianCalendar;
import?javax.swing.*;
public?class?rw23?extends?Jframe?implements?ActionListener{
int?xyx_1y_1rhss_xss_ymm_xmm_yhh_xhh_yssmmhhold_mold_hang;
final?double?RAD?=Math.PI/180;//度數轉換成弧度的比例
//構造函數創建了一個窗體
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
rw23?cd=new?rw23();
System.out.println(“JAVA小時鐘已成功顯示!“);
}
public?rw23()?{
super(“JAVA?小時鐘“);
setDefaultCloseOperation(3);
Image?image?=getToolkit().getImage(“1.jpg“);
setIconImage(image);
setSize(500500);
setBackground(Color.black);
setLocation(300150);
setResizable(false);
setVisible(true);
show();
int?delay?=1000;
ActionListener?draw?=new?ActionListener()?{//創建一個監聽事件
public?void?actionPerformed(ActionEvent?evt)?{
repaint();
}
};
new?Timer(delaydraw).start();//創建一個時間計數器,每一秒觸發一次
}
//實現ActionListener接口必須實現的方法
public?void?actionPerformed(ActionEvent?e)?{
//?TODO?Auto-generated?method?stub
}
public?void?paint(Graphics?g)?{
//繪制圖形
Graphics2D?g2D=(Graphics2D)?g;//Graphics強制類型轉換成Graphics2D
Insets?insets?=getInsets();//創建Jframe的邊界對象
int?L=insets.left/2T=insets.top/2;//L=左邊界的2/1,T=上邊界的2/1
h?=getSize().height;//返回Jframe的高度
g.setColor(new?Color(1157418));//設置畫筆顏色為棕色
//畫圓
g2D.setStroke(new?BasicStroke(5.0f));//勾畫出寬度為4cm的圓
g.drawOval(L+40T+40h-80h-80);//
r=h/2-40;
x_1=40+r-5+L;
y_1=40+r-5-T;
ang=60;
//繪制時鐘上的12個字
g.setFont(new?Font(““Font.BOLD12));
g.setColor(new?Color(255255255));
for(int?i=1;i<=12;i++)?{
x=(int)((r+12)*Math.cos(RAD?*?ang)+x_1);
y=(int)((r+12)*Math.sin(RAD?*?ang)+y_1);
g.drawString(““+?ix?h-y);
ang?-=30;
}
//獲得現在的時間
Calendar?now=new?GregorianCalendar();//創建Calender對象now
int?hour=now.get(Calendar.HOUR_OF_DAY);//取得當前的小時部分
int?minute=now.get(Calendar.MINUTE);//取得當前時間的分鐘部分
int?second?=now.get(Calendar.SECOND);//取得當前時間的秒
String?st;
if(hour<10)
st=“0“+hour;
else
st=““+hour;
if(minute<10)
st+=“:0“+minute;
else
st?+=“:“+minute;
if(second<10)
st+=“:0“+second;
else
st?+=“:“+second;
//窗體上顯示時間格式,如00:00:00
g.setColor(Color.pink);
g.fillRect(L?T?90?40);//畫出寬為60像素,高為30像素的矩形,顏色為粉色
g.setColor(Color.yellow);
g.drawString(st?L+14?T+30);//將上面組合的字符串st畫出,顏色為黃色
//計算時間與度數的關系
ss=90-second*6;
mm=90-minute*6;
hh=90-hour*30-minute/2;
x_1=r+40+L;
y_1=r+40+T;
g2D.setStroke(new?BasicStroke(1.0f));//設置秒針的寬度
if(ss_x>0)?{//擦除秒針原理為改變為原來的背景顏色
g.setColor(getBackground());
g.drawLine(x_1?y_1?ss_x?h-ss_y);
}else?{
old_m?=?mm;
old_h?=?hh;
}
//繪制秒針
x=(int)(r*0.9*Math.cos(RAD*ss))+x_1;
y=(int)(r*0.9*Math.sin(RAD*ss))+y_1-2*T;
g.setColor(new?Color(2559971));
g.drawLine(x_1?y_1?x?h-y)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????15459??2018-09-23?21:33??JAVA時鐘\JAVA時鐘.docx
?????文件???????4033??2018-09-20?15:22??JAVA時鐘\rw23.java
?????目錄??????????0??2018-09-23?21:33??JAVA時鐘
-----------?---------??----------?-----??----
????????????????19492????????????????????3
- 上一篇:Java虛擬機視頻.rar
- 下一篇:JAVA運用多線程實現碰撞的小球
評論
共有 條評論