国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 如何使用JFrame完成動態模擬時鐘

如何使用JFrame完成動態模擬時鐘

2019-12-31 14:54Lsxk_wjz JAVA教程

本文介紹了如何使用JFrame完成動態模擬時鐘,需要的朋友可以參考下

這篇文章介紹了使用JFrame完成動態模擬時鐘,在面板中繪制時鐘并提取系統當前時刻,主方法中暫停線程1秒,刷新面板。

實現代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.lang.Thread;
import java.text.DecimalFormat;
 
public class StillClock extends JPanel {
 
  /**
   * @param args
   */
  private int hour;
  private int minute;
  private int second;
   
  //構造函數
  public StillClock() {
    setCurrentTime();
  }
 
  //返回小時
  public int getHour() {
    return hour;
  }
   
   
  public int getMinute() {
    return minute;
  }
   
   
   
  public int getSecond() {
    return second;
  }
   
   
  //繪制時鐘
  protected void paintComponent(Graphics g) {
     
    super.paintComponent(g);
    //初始化
    int clockRadius = (int)(Math.min(getWidth(), getHeight()) * 0.8 * 0.5);
    int xCenter = getWidth() / 2;
    int yCenter = getHeight() / 2;
    //畫圓
    g.setColor(Color.black);
    g.drawOval(xCenter - clockRadius, yCenter - clockRadius, 2 * clockRadius, 2 * clockRadius);
    g.drawString("12", xCenter - 5, yCenter - clockRadius + 15);
    g.drawString("9", xCenter - clockRadius + 3, yCenter + 5);
    g.drawString("3", xCenter + clockRadius - 10, yCenter + 3);
    g.drawString("6", xCenter - 3, yCenter + clockRadius - 3);
    //畫秒針
    int sLength = (int)(clockRadius * 0.8);
    int xSecond = (int)(xCenter + sLength * Math.sin(second * (2 * Math.PI / 60)));
    int ySecond = (int)(yCenter - sLength * Math.cos(second * (2 * Math.PI / 60)));
     
    g.setColor(Color.red);
    g.drawLine(xCenter, yCenter, xSecond, ySecond);
     
    //畫分針
    int mLenth = (int)(clockRadius * 0.65);
    int xMinute = (int)(xCenter + mLenth * Math.sin(minute * (2 * Math.PI / 60)));
    int yMinute = (int)(xCenter - mLenth * Math.cos(minute * (2 * Math.PI / 60)));
    g.setColor(Color.blue);
    g.drawLine(xCenter, yCenter, xMinute, yMinute);
     
    //畫時針
    int hLength = (int)(clockRadius * 0.5);
    int xHour = (int)(xCenter + hLength * Math.sin((hour % 12 + minute / 60.0) * (2 * Math.PI / 12)));
    int yHour = (int)(yCenter - hLength * Math.cos((hour % 12 + minute / 60.0) * (2 * Math.PI / 12)));
    g.setColor(Color.green);
    g.drawLine(xCenter, yCenter, xHour, yHour);
     
    //畫數字時鐘
    g.setColor(Color.black);
    DecimalFormat s=new DecimalFormat("00");
    g.drawString(s.format(getHour()) + ":" + s.format(getMinute()) + ":" + s.format(getSecond()), xCenter - 22, yCenter - clockRadius - 15);
     
  }
   
  public void setCurrentTime() {
    Calendar calendar = new GregorianCalendar();
     
    this.hour = calendar.get(Calendar.HOUR_OF_DAY);
    this.minute = calendar.get(Calendar.MINUTE);
    this.second = calendar.get(Calendar.SECOND);
  }
   
   
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame frame = new JFrame("DiaplayClock");
        frame.setResizable(false);
    frame.setTitle("DiaplayClock");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300,350);
    frame.setVisible(true);
     
    while(true) {
      StillClock clock = new StillClock();
      frame.getContentPane().add(clock);
      clock.setVisible(true);
      frame.validate();
      try {
        Thread.sleep(1000);
         
      }
      catch (InterruptedException e) {
        e.printStackTrace();
      }
      clock.setVisible(false);
      frame.remove(clock);
      clock = null;
      frame.validate();
       
    }
 
  }
}

效果圖:

如何使用JFrame完成動態模擬時鐘

如何使用JFrame完成動態模擬時鐘

以上就是本文的全部內容,希望大家可以喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区二区精品视频 | 日韩电影在线看 | 欧美日韩在线视频免费 | 色av网 | 成人国产精品久久 | 久久久精品久久久 | 欧美性猛片aaaaaaa做受 | 2018天天操| 欧美成人免费在线视频 | 国产99精品视频 | 国产成年人网站 | 黄色av网站免费看 | 日韩在线精品视频 | 亚洲成人午夜电影 | 欧美福利视频 | 高清一区二区在线观看 | 日韩日韩日韩日韩日韩日韩 | 成人黄大片视频在线观看 | 伊人精品视频 | 日韩1区| 亚洲成人av在线 | 91小视频| 亚洲激情在线 | 色九九| 日韩精品免费 | 欧美久久久久久 | 激情国产 | 色av中文字幕 | 国产精品a久久久久 | 亚洲人视频 | 欧美成人精品在线 | 国内精品视频在线观看 | 狠狠av | 国产区在线 | 狠狠影院| 91精品福利| 特级黄一级播放 | 91精品久久久久久久 | 欧美日韩精品久久久 | 精品96久久久久久中文字幕无 | 亚洲一区免费 |