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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java时钟面板clock

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java时钟面板clock 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

時鐘面板程序可以直接用了

//ClockPanel.java import static java.util.Calendar.HOUR; import static java.util.Calendar.MILLISECOND; import static java.util.Calendar.MINUTE; import static java.util.Calendar.SECOND;import java.awt.AlphaComposite; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Composite; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import java.awt.event.MouseEvent; import java.util.Calendar; import javax.swing.ImageIcon; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel;/*** 時鐘面板* */ public class ClockPanel extends JPanel implements Runnable {// 3個指針的粗細private static final BasicStroke HOURS_POINT_WIDTH = new BasicStroke(5);private static final BasicStroke MINUETES_POINT_WIDTH = new BasicStroke(3);private static final BasicStroke SEC_POINT_WIDTH = new BasicStroke(2);private ImageIcon background;private int centerX; // 中心坐標private int centerY;private final static int secLen = 60; // 指針長度private final static int minuesLen = 55; // 指針長度private final static int hoursLen = 36; // 指針長度private Point fp; // 拖曳窗體之前的鼠標位置/*** 構造方法*/public ClockPanel() {setOpaque(false);background = new ImageIcon(getClass().getResource("Core.png"));int iconWidth = background.getIconWidth();centerX = iconWidth / 2;int iconHeight = background.getIconHeight();centerY = iconHeight / 2;setPreferredSize(new Dimension(532, 286));new Thread(this).start();}@Overridepublic void paint(Graphics g) {Graphics2D g2 = (Graphics2D) g.create();Composite composite = g2.getComposite();g2.setComposite(AlphaComposite.SrcOver.derive(0.6f));Calendar calendar = Calendar.getInstance();drawClock(g2, calendar);// 繪制時鐘g2.setComposite(composite);g2.drawImage(background.getImage(), 0, 0, this);g2.dispose();}private void drawClock(Graphics2D g2, Calendar calendar) {int millisecond = calendar.get(MILLISECOND);int sec = calendar.get(SECOND);int minutes = calendar.get(MINUTE);int hours = calendar.get(HOUR);double secAngle = (60 - sec) * 6 - (millisecond / 150); // 秒針角度int minutesAngle = (60 - minutes) * 6;// 分針角度int hoursAngle = (12 - hours) * 360 / 12 - (minutes / 2);// 時針角度// 計算秒針、分針、時針指向坐標int secX = (int) (secLen * Math.sin(Math.toRadians(secAngle)));int secY = (int) (secLen * Math.cos(Math.toRadians(secAngle)));int minutesX = (int) (minuesLen * Math.sin(Math.toRadians(minutesAngle)));int minutesY = (int) (minuesLen * Math.cos(Math.toRadians(minutesAngle)));int hoursX = (int) (hoursLen * Math.sin(Math.toRadians(hoursAngle)));int hoursY = (int) (hoursLen * Math.cos(Math.toRadians(hoursAngle)));g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);// 分別繪制時針、分針、秒針g2.setColor(Color.BLACK);g2.setStroke(HOURS_POINT_WIDTH);g2.drawLine(centerX, centerY, centerX - hoursX, centerY - hoursY);g2.setStroke(MINUETES_POINT_WIDTH);g2.setColor(new Color(0x2F2F2F));g2.drawLine(centerX, centerY, centerX - minutesX, centerY - minutesY);g2.setColor(Color.RED);g2.setStroke(SEC_POINT_WIDTH);g2.drawLine(centerX, centerY, centerX - secX, centerY - secY);// 繪制3個指針的中心園g2.fillOval(centerX - 5, centerY - 5, 10, 10);}@Overridepublic void run() {try {while (true) {if (getRootPane() != null) {JFrame main = (JFrame) getRootPane().getParent();if (main != null && main.isVisible()) {EventQueue.invokeLater(new Runnable() {public void run() {ClockPanel.this.repaint();//每隔1秒繪制clock}});}}Thread.sleep(100);}} catch (InterruptedException e) {e.printStackTrace();}}protected void do_this_mouseDragged(final MouseEvent e) {JDialog frame = (JDialog) getRootPane().getParent();Point point = e.getLocationOnScreen();frame.setLocation(point.x - fp.x, point.y - fp.y);}protected void do_this_mousePressed(final MouseEvent e) {fp = e.getPoint();} } //使用時鐘面板的組件中 //添加時鐘面板,實例化面板對象就好 JPanel panel = new ClockPanel(); panel.setBounds(377, 54, 151, 142); getContentPane().add(panel);

背景圖片:

百度云鏈接:http://pan.baidu.com/s/1dD9AWnB

總結

以上是生活随笔為你收集整理的java时钟面板clock的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 在线xxxxx| 中文字幕精品一区二区精 | 亚洲一区二区三区高清在线 | 亚洲精品乱码久久久久久黑人 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 性高潮久久久久久 | 丁香啪啪综合成人亚洲 | 91精产国品一二三区在线观看 | 夜夜夜网 | 欧洲精品久久一区二区 | 一区二区三区国产精品 | 日日躁夜夜躁狠狠久久av | 久草热视频 | 最新国产在线视频 | 人妻精油按摩bd高清中文字幕 | julia一区| 亚洲乱码国产乱码精品精软件 | jizz毛片 | 日本a级大片 | 国产午夜精品久久 | 欧美另类极品videosbest使用方法 | 香港三级日本三级三69 | 黄色成人免费观看 | 欧美精品一区在线 | 国产丰满麻豆 | 中文字幕首页 | h视频在线免费观看 | 韩国无码一区二区三区精品 | 美梦视频大全在线观看高清 | jizz黄色片 | 日韩欧美资源 | 日韩有码中文字幕在线观看 | av免费观看入口 | 精品人妻一区二区三区四区久久 | 欧美在线三级 | 久久av影院| 亚洲情侣av| 95香蕉视频 | 青青成人在线 | 亚洲特级片| 日韩av在线看 | 永久免费国产 | 久久久国产精品免费 | 草视频在线观看 | 91精品国产自产精品男人的天堂 | 日本天天操 | 国产精品国产三级国产aⅴ 欧美bbbbbbbbbbbb18av | 亚洲欧美激情精品一区二区 | 欧美国产日韩一区 | 强开小受嫩苞第一次免费视频 | 欧美精品一区二 | 日日弄天天弄美女bbbb | 尤物videos另类xxxx | 中文字幕岛国 | 亚洲精品一二三区 | 精品人妻少妇一区二区 | 欧美色视 | 日本黄网在线观看 | 无码日韩人妻精品久久蜜桃 | 狂躁美女大bbbbbb黑人 | 韩国伦理中文字幕 | 久久久久毛片 | 美女扒开腿男人爽桶 | 国产av精国产传媒 | 天天操女人| 日韩一级欧美一级 | 国产一区二区在线免费观看视频 | 美女福利视频在线观看 | 中文字幕人妻伦伦 | 国产欧美一区二区三区四区 | 春物催眠 | 玩偶姐姐在线看 | 女教师三上悠亚ssni-152 | 欧美人体做爰大胆视频 | 超碰666 | 香蕉视频黄色在线观看 | 精品久久免费 | 自拍偷拍第1页 | 国产三级在线观看视频 | av电影中文字幕 | 日本在线视频中文字幕 | 免费的黄色一级片 | 国产区在线 | 闺蜜张开腿让我爽了一夜 | 国产一二三四五区 | 欧美1级片 | 亚洲欧美一区二区三区久久 | 亚州av网站 | 国产欧美日韩综合 | 国产91麻豆视频 | 啪视频在线观看 | 男女搞黄网站 | 波多野吉衣中文字幕 | 麻豆一区产品精品蜜桃的特点 | 香蕉小视频| 成人综合影院 | 在线日韩亚洲 | 久久久久亚洲av无码a片 | 午夜久久久 |