欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > java >内容正文

java

java版世界时钟示例 -凯发k8官方网

发布时间:2024/10/8 java 0 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 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; /** * 凯发k8官方网 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

总结

以上是凯发k8官方网为你收集整理的java版世界时钟示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图