Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
68bab369
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
68bab369
编写于
3月 24, 2011
作者:
M
mrkam
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7027677: /applets/Clock demo needs to be improved
Reviewed-by: rupashka
上级
52beb240
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
69 addition
and
50 deletion
+69
-50
src/share/demo/applets/Clock/Clock.java
src/share/demo/applets/Clock/Clock.java
+69
-50
未找到文件。
src/share/demo/applets/Clock/Clock.java
浏览文件 @
68bab369
/*
* Copyright (c) 1997, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
11
, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
...
...
@@ -29,24 +29,28 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
*/
import
java.util.*
;
import
java.awt.*
;
import
java.applet.*
;
import
java.text.*
;
import
java.applet.Applet
;
import
java.awt.Color
;
import
java.awt.Font
;
import
java.awt.Graphics
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Locale
;
/**
* Time!
*
* @author Rachel Gollub
* @
modified
Daniel Peek replaced circle drawing calculation, few more changes
* @
author
Daniel Peek replaced circle drawing calculation, few more changes
*/
@SuppressWarnings
(
"serial"
)
public
class
Clock
extends
Applet
implements
Runnable
{
private
volatile
Thread
timer
;
// The thread that displays clock
private
int
lastxs
,
lastys
,
lastxm
,
lastym
,
lastxh
,
lastyh
;
// Dimensions used to draw hands
lastym
,
lastxh
,
lastyh
;
// Dimensions used to draw hands
private
SimpleDateFormat
formatter
;
// Formats the date displayed
private
String
lastdate
;
// String to hold date displayed
private
Font
clockFaceFont
;
// Font for number display on clock
...
...
@@ -55,11 +59,11 @@ public class Clock extends Applet implements Runnable {
private
Color
numberColor
;
// Color of second hand and numbers
private
int
xcenter
=
80
,
ycenter
=
55
;
// Center position
@Override
public
void
init
()
{
int
x
,
y
;
lastxs
=
lastys
=
lastxm
=
lastym
=
lastxh
=
lastyh
=
0
;
formatter
=
new
SimpleDateFormat
(
"EEE MMM dd hh:mm:ss yyyy"
,
Locale
.
getDefault
());
formatter
=
new
SimpleDateFormat
(
"EEE MMM dd hh:mm:ss yyyy"
,
Locale
.
getDefault
());
currentDate
=
new
Date
();
lastdate
=
formatter
.
format
(
currentDate
);
clockFaceFont
=
new
Font
(
"Serif"
,
Font
.
PLAIN
,
14
);
...
...
@@ -68,26 +72,29 @@ public class Clock extends Applet implements Runnable {
try
{
setBackground
(
new
Color
(
Integer
.
parseInt
(
getParameter
(
"bgcolor"
),
16
)));
16
)));
}
catch
(
NullPointerException
e
)
{
}
catch
(
NumberFormatException
e
)
{
}
try
{
handColor
=
new
Color
(
Integer
.
parseInt
(
getParameter
(
"fgcolor1"
),
16
));
16
));
}
catch
(
NullPointerException
e
)
{
}
catch
(
NumberFormatException
e
)
{
}
try
{
numberColor
=
new
Color
(
Integer
.
parseInt
(
getParameter
(
"fgcolor2"
),
16
));
16
));
}
catch
(
NullPointerException
e
)
{
}
catch
(
NumberFormatException
e
)
{
}
resize
(
300
,
300
);
// Set clock window size
resize
(
300
,
300
);
// Set clock window size
}
// Paint is the main part of the program
/**
* Paint is the main part of the program
*/
@Override
public
void
update
(
Graphics
g
)
{
int
xh
,
yh
,
xm
,
ym
,
xs
,
ys
;
int
s
=
0
,
m
=
10
,
h
=
10
;
...
...
@@ -119,10 +126,12 @@ public class Clock extends Applet implements Runnable {
ys
=
(
int
)
(
Math
.
sin
(
s
*
Math
.
PI
/
30
-
Math
.
PI
/
2
)
*
45
+
ycenter
);
xm
=
(
int
)
(
Math
.
cos
(
m
*
Math
.
PI
/
30
-
Math
.
PI
/
2
)
*
40
+
xcenter
);
ym
=
(
int
)
(
Math
.
sin
(
m
*
Math
.
PI
/
30
-
Math
.
PI
/
2
)
*
40
+
ycenter
);
xh
=
(
int
)
(
Math
.
cos
((
h
*
30
+
m
/
2
)
*
Math
.
PI
/
180
-
Math
.
PI
/
2
)
*
30
+
xcenter
);
yh
=
(
int
)
(
Math
.
sin
((
h
*
30
+
m
/
2
)
*
Math
.
PI
/
180
-
Math
.
PI
/
2
)
*
30
+
ycenter
);
xh
=
(
int
)
(
Math
.
cos
((
h
*
30
+
m
/
2
)
*
Math
.
PI
/
180
-
Math
.
PI
/
2
)
*
30
+
xcenter
);
yh
=
(
int
)
(
Math
.
sin
((
h
*
30
+
m
/
2
)
*
Math
.
PI
/
180
-
Math
.
PI
/
2
)
*
30
+
ycenter
);
// Get the date to print at the bottom
formatter
.
applyPattern
(
"EEE MMM dd HH:mm:ss yyyy"
);
...
...
@@ -136,12 +145,12 @@ public class Clock extends Applet implements Runnable {
g
.
drawString
(
lastdate
,
5
,
125
);
}
if
(
xm
!=
lastxm
||
ym
!=
lastym
)
{
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxm
,
lastym
);
}
if
(
xh
!=
lastxh
||
yh
!=
lastyh
)
{
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxh
,
lastyh
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxh
,
lastyh
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxh
,
lastyh
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxh
,
lastyh
);
}
// Draw date and hands
...
...
@@ -149,73 +158,83 @@ public class Clock extends Applet implements Runnable {
g
.
drawString
(
today
,
5
,
125
);
g
.
drawLine
(
xcenter
,
ycenter
,
xs
,
ys
);
g
.
setColor
(
handColor
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
xm
,
ym
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
xm
,
ym
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
xh
,
yh
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
xh
,
yh
);
lastxs
=
xs
;
lastys
=
ys
;
lastxm
=
xm
;
lastym
=
ym
;
lastxh
=
xh
;
lastyh
=
yh
;
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
xm
,
ym
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
xm
,
ym
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
xh
,
yh
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
xh
,
yh
);
lastxs
=
xs
;
lastys
=
ys
;
lastxm
=
xm
;
lastym
=
ym
;
lastxh
=
xh
;
lastyh
=
yh
;
lastdate
=
today
;
currentDate
=
null
;
}
@Override
public
void
paint
(
Graphics
g
)
{
g
.
setFont
(
clockFaceFont
);
// Draw the circle and numbers
g
.
setColor
(
handColor
);
g
.
drawArc
(
xcenter
-
50
,
ycenter
-
50
,
100
,
100
,
0
,
360
);
g
.
drawArc
(
xcenter
-
50
,
ycenter
-
50
,
100
,
100
,
0
,
360
);
g
.
setColor
(
numberColor
);
g
.
drawString
(
"9"
,
xcenter
-
45
,
ycenter
+
3
);
g
.
drawString
(
"3"
,
xcenter
+
40
,
ycenter
+
3
);
g
.
drawString
(
"12"
,
xcenter
-
5
,
ycenter
-
37
);
g
.
drawString
(
"6"
,
xcenter
-
3
,
ycenter
+
45
);
g
.
drawString
(
"9"
,
xcenter
-
45
,
ycenter
+
3
);
g
.
drawString
(
"3"
,
xcenter
+
40
,
ycenter
+
3
);
g
.
drawString
(
"12"
,
xcenter
-
5
,
ycenter
-
37
);
g
.
drawString
(
"6"
,
xcenter
-
3
,
ycenter
+
45
);
// Draw date and hands
g
.
setColor
(
numberColor
);
g
.
drawString
(
lastdate
,
5
,
125
);
g
.
drawLine
(
xcenter
,
ycenter
,
lastxs
,
lastys
);
g
.
setColor
(
handColor
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxh
,
lastyh
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxh
,
lastyh
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxm
,
lastym
);
g
.
drawLine
(
xcenter
,
ycenter
-
1
,
lastxh
,
lastyh
);
g
.
drawLine
(
xcenter
-
1
,
ycenter
,
lastxh
,
lastyh
);
}
@Override
public
void
start
()
{
timer
=
new
Thread
(
this
);
timer
.
start
();
}
@Override
public
void
stop
()
{
timer
=
null
;
}
@Override
@SuppressWarnings
(
"SleepWhileHoldingLock"
)
public
void
run
()
{
Thread
me
=
Thread
.
currentThread
();
while
(
timer
==
me
)
{
try
{
Thread
.
currentThread
().
sleep
(
100
);
Thread
.
sleep
(
100
);
}
catch
(
InterruptedException
e
)
{
}
repaint
();
}
}
@Override
public
String
getAppletInfo
()
{
return
"Title: A Clock \n"
+
"Author: Rachel Gollub, 1995 \n"
+
"An analog clock."
;
+
"Author: Rachel Gollub, 1995 \n"
+
"An analog clock."
;
}
@Override
public
String
[][]
getParameterInfo
()
{
String
[][]
info
=
{
{
"bgcolor"
,
"hexadecimal RGB number"
,
"The background color. Default is the color of your browser."
},
{
"fgcolor1"
,
"hexadecimal RGB number"
,
"The color of the hands and dial. Default is blue."
},
{
"fgcolor2"
,
"hexadecimal RGB number"
,
"The color of the second hand and numbers. Default is dark gray."
}
{
"bgcolor"
,
"hexadecimal RGB number"
,
"The background color. Default is the color of your browser."
},
{
"fgcolor1"
,
"hexadecimal RGB number"
,
"The color of the hands and dial. Default is blue."
},
{
"fgcolor2"
,
"hexadecimal RGB number"
,
"The color of the second hand and numbers. Default is dark gray."
}
};
return
info
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录