日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 在界面上画一个时钟_编写程序显示一个时钟 - javaCoder的个人页面 - OSCHINA - 中文开源技术交流社区...

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 在界面上画一个时钟_编写程序显示一个时钟 - javaCoder的个人页面 - OSCHINA - 中文开源技术交流社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫程序顯示一個時鐘。示例輸出如圖所示。

代碼:

package com.DisplayClock;

import javax.swing.*;

import java.awt.*;

import java.awt.geom.*;

public class DisplayClock{

Thread hourThread = null;//時針線程

Thread minuteThread = null; //分針線程

Thread secondThread = null;//秒針線程

int currentHour = 0;//獲取當前時間中代表小時的數字值

int currentMinute = 0;//獲取當前時間中代表分鐘的數字值

int currentSecond = 0;//獲取當前時間中代表秒數字值

int isRestart = 0;//判斷是否重新開始

public static void main(String[] args){

EventQueue.invokeLater(new Runnable()

{

public void run()

{

DrawFrame frame = new DrawFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

});

}

}

class DrawFrame extends JFrame{

public DrawFrame()

{

setTitle("DisplayClock");//設置顯示窗的標題

setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);//設置窗口的大小

DrawComponent component = new DrawComponent();

//創建要建立的圖形的對象

add(component);

//將該圖形加入到面板上

}

public static final int DEFAULT_WIDTH = 500;

//設置窗口的寬度

public static final int DEFAULT_HEIGHT = 500;

//設置窗口的高度

}

//建立時鐘圖形

class DrawComponent extends JComponent

{

public void paintComponent(Graphics g)

{

g.setColor(Color.blue);

Graphics2D g2 = (Graphics2D) g;

Ellipse2D circle = new Ellipse2D.Double();

circle.setFrameFromCenter(200,200,300,300);

g2.draw(circle);

//用來寫表盤上的刻度

g.setColor(Color.green);

double jiaodu = Math.PI / 2;

double keX[] = new double[60];//存放表盤刻度的起始X坐標

double keY[] = new double[60];//存放表盤刻度的起始Y坐標

double duX[] = new double[60];//存放表盤刻度的終止X坐標

double duY[] = new double[60];//存放表盤刻度的終止Y坐標

for(int i = 0;i < 60;i++){

if(i == 0||i%5 == 0)

{

keX[i] = 200 + 80 * Math.cos(jiaodu);

keY[i] = 200 - 80 * Math.sin(jiaodu);

}

else

{

keX[i] = 200 + 90 * Math.cos(jiaodu);

keY[i] = 200 - 90 * Math.sin(jiaodu);

}

duX[i] = 200 + 100 * Math.cos(jiaodu);

duY[i] = 200 - 100 * Math.sin(jiaodu);

jiaodu = jiaodu - Math.PI / 30;

}

for(int j =0;j < 60;j++){

g2.draw(new Line2D.Double(keX[j],keY[j],duX[j],duY[j]));

}

//畫12點的指針秒針

g.setColor(Color.black);

g2.draw(new Line2D.Double(200,200,200,130));

//畫出分針

g.setColor(Color.BLUE);

g2.draw(new Line2D.Double(200,200,200,140));

//畫出時針

g.setColor(Color.PINK);

g2.draw(new Line2D.Double(200,200,200,150));

}

}

總結

以上是生活随笔為你收集整理的java 在界面上画一个时钟_编写程序显示一个时钟 - javaCoder的个人页面 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。