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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java版世界时钟示例

發布時間:2024/10/8 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java版世界时钟示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java版世界時鐘示例

這是一個Java版的世界時鐘示例,移植自Gerrit創建的同名Swing應用(http://www.jug-muenster.de/swing-worldclock-427 ),需要運行在JRE1.5或以上環境當中。

?

移植此示例主要是因為前一陣移植過Gerrit的swing原子鐘示例,所謂好事成雙,這個世界時鐘的示例自然不能放過(話說Gerrit為什么那么喜歡做時鐘?……),畢竟Java桌面應用實例本就不多,但凡有參考價值的還是要多做匯總才好。

?

另外,此示例中關于多時區的分辨與顯示部分,在非桌面應用中也具備一定的參考價值。

?

PS:由于此示例以LGame-Simple-0.2.5開發,所以也可以看作是世界時鐘的AWT實現。

?

下載地址(源碼在jar中):http://loon-simple.googlecode.com/files/WorldClock.7z

?

運行代碼如下所示(構建過程省略了Swing原版的一些步驟):

?

package org.loon.test; import java.awt.Graphics2D; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import org.loon.framework.game.simple.GameScene; import org.loon.framework.game.simple.core.graphics.Deploy; import org.loon.framework.game.simple.core.graphics.Screen; import org.loon.framework.game.simple.utils.GraphicsUtils; /** * Copyright 2008 - 2009 * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * * @project loonframework * @author chenpeng * @email:ceponline@yahoo.com.cn * @version 0.1 */ public class Main extends Screen { // 此示例移植自http://www.jug-muenster.de/swing-worldclock-427/同名應用 public Main() { // 設置窗體背景 this.setBackground(createBackgroundImage()); // 創建時間精靈 AnalogClock clock1 = new AnalogClock(City.Beijing, 25, 18, 74, 74); AnalogClock clock2 = new AnalogClock(City.NewYork, 25, 108, 74, 74); AnalogClock clock3 = new AnalogClock(City.SanFrancisco, 25, 198, 74, 74); AnalogClock clock4 = new AnalogClock(City.Dakka, 25, 288, 74, 74); // 添加精靈 this.add(clock1); this.add(clock2); this.add(clock3); this.add(clock4); } public void draw(Graphics2D g) { } /** * 創建背景圖案 * * @return */ private BufferedImage createBackgroundImage() { final java.awt.image.BufferedImage IMAGE = GraphicsUtils.createImage( getWidth(), getHeight(), java.awt.Transparency.TRANSLUCENT); java.awt.Graphics2D g2 = IMAGE.createGraphics(); g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); java.awt.geom.Point2D BACKGROUND_START = new java.awt.geom.Point2D.Double( 0, 0); java.awt.geom.Point2D BACKGROUND_STOP = new java.awt.geom.Point2D.Double( 0, getHeight()); final float[] BACKGROUND_FRACTIONS = { 0.0f, 1.0f }; final java.awt.Color[] BACKGROUND_COLORS = { new java.awt.Color(0x505652), new java.awt.Color(0x393E3A) }; final java.awt.Shape BACKGROUND = new java.awt.geom.RoundRectangle2D.Double( 0, 0, getWidth(), getHeight(), 5, 5); final java.awt.LinearGradientPaint BACKGROUND_GRADIENT = new java.awt.LinearGradientPaint( BACKGROUND_START, BACKGROUND_STOP, BACKGROUND_FRACTIONS, BACKGROUND_COLORS); g2.setPaint(BACKGROUND_GRADIENT); g2.fill(BACKGROUND); java.awt.geom.Point2D INNER_BACKGROUND_START = new java.awt.geom.Point2D.Double( 0, 10); java.awt.geom.Point2D INNER_BACKGROUND_STOP = new java.awt.geom.Point2D.Double( 0, getHeight() - 10); final float[] INNER_BACKGROUND_FRACTIONS = { 0.0f, 1.0f }; final java.awt.Color[] INNER_BACKGROUND_COLORS = { new java.awt.Color(0x4D5651), new java.awt.Color(0x393E3A) }; final java.awt.Shape INNER_BACKGROUND = new java.awt.geom.RoundRectangle2D.Double( 10, 10, getWidth() - 20, getHeight() - 20, 5, 5); final java.awt.LinearGradientPaint INNER_BACKGROUND_GRADIENT = new java.awt.LinearGradientPaint( INNER_BACKGROUND_START, INNER_BACKGROUND_STOP, INNER_BACKGROUND_FRACTIONS, INNER_BACKGROUND_COLORS); g2.setPaint(INNER_BACKGROUND_GRADIENT); g2.fill(INNER_BACKGROUND); g2.setColor(new java.awt.Color(0x2F362E)); g2.drawLine(10, 10, 10, getHeight() - 10); g2.drawLine(getWidth() - 10, 10, getWidth() - 10, getHeight() - 10); g2.drawLine(10, 10, getWidth() - 10, 10); g2.setColor(new java.awt.Color(0x6B7167)); g2.drawLine(10, getHeight() - 10, getWidth() - 10, getHeight() - 10); g2.dispose(); return IMAGE; } public void leftClick(MouseEvent e) { } public void middleClick(MouseEvent e) { } public void rightClick(MouseEvent e) { } public void onKey(KeyEvent e) { } public void onKeyUp(KeyEvent e) { } public static void main(String[] args) { GameScene frame = new GameScene("Java版世界時鐘", 398, 391); Deploy deploy = frame.getDeploy(); deploy.setScreen(new Main()); deploy.setShowFPS(true); deploy.setLogo(false); deploy.setFPS(100); deploy.mainLoop(); frame.showFrame(); } }


以下為運行效果:

?

?

?

?

下載地址(源碼在jar中) :http://loon-simple.googlecode.com/files/WorldClock.7z

posted on 2010-02-22 21:17 cping 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/cping1982/archive/2010/02/22/2257840.html

總結

以上是生活随笔為你收集整理的Java版世界时钟示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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