Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
d843740b
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看板
提交
d843740b
编写于
6月 03, 2015
作者:
M
mcherkas
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8077409: Drawing deviates when validate() is invoked on java.awt.ScrollPane
Reviewed-by: bae
上级
51d05bee
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
116 addition
and
2 deletion
+116
-2
src/share/classes/java/awt/ScrollPane.java
src/share/classes/java/awt/ScrollPane.java
+1
-2
test/java/awt/ScrollPane/bug8077409Test.java
test/java/awt/ScrollPane/bug8077409Test.java
+115
-0
未找到文件。
src/share/classes/java/awt/ScrollPane.java
浏览文件 @
d843740b
...
...
@@ -496,9 +496,8 @@ public class ScrollPane extends Container implements Accessible {
Point
p
=
getScrollPosition
();
Dimension
cs
=
calculateChildSize
();
Dimension
vs
=
getViewportSize
();
Insets
i
=
getInsets
();
c
.
reshape
(
i
.
left
-
p
.
x
,
i
.
top
-
p
.
y
,
cs
.
width
,
cs
.
height
);
c
.
reshape
(
-
p
.
x
,
-
p
.
y
,
cs
.
width
,
cs
.
height
);
ScrollPanePeer
peer
=
(
ScrollPanePeer
)
this
.
peer
;
if
(
peer
!=
null
)
{
peer
.
childResized
(
cs
.
width
,
cs
.
height
);
...
...
test/java/awt/ScrollPane/bug8077409Test.java
0 → 100644
浏览文件 @
d843740b
/*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
@bug 8077409
@summary Drawing deviates when validate() is invoked on java.awt.ScrollPane
@author mikhail.cherkasov@oracle.com
@run main bug8077409Test
*/
import
java.awt.*
;
import
java.awt.event.*
;
public
class
bug8077409Test
extends
Frame
{
ScrollPane
pane
;
MyCanvas
myCanvas
;
class
MyCanvas
extends
Canvas
{
public
Dimension
getPreferredSize
()
{
return
new
Dimension
(
400
,
800
);
}
public
void
paint
(
Graphics
g
)
{
g
.
setColor
(
Color
.
BLACK
);
g
.
drawLine
(
0
,
0
,
399
,
0
);
g
.
setColor
(
Color
.
RED
);
g
.
drawLine
(
0
,
1
,
399
,
1
);
g
.
setColor
(
Color
.
BLUE
);
g
.
drawLine
(
0
,
2
,
399
,
2
);
g
.
setColor
(
Color
.
GREEN
);
g
.
drawLine
(
0
,
3
,
399
,
3
);
}
}
public
bug8077409Test
()
{
super
();
setLayout
(
new
BorderLayout
());
pane
=
new
ScrollPane
();
myCanvas
=
new
MyCanvas
();
pane
.
add
(
myCanvas
);
add
(
pane
,
BorderLayout
.
CENTER
);
setSize
(
320
,
480
);
}
@Override
protected
void
processKeyEvent
(
KeyEvent
e
)
{
super
.
processKeyEvent
(
e
);
}
public
static
void
main
(
String
[]
args
)
throws
AWTException
,
InterruptedException
{
final
bug8077409Test
obj
=
new
bug8077409Test
();
obj
.
setVisible
(
true
);
Toolkit
.
getDefaultToolkit
().
addAWTEventListener
(
new
AWTEventListener
()
{
@Override
public
void
eventDispatched
(
AWTEvent
e
)
{
KeyEvent
keyEvent
=
(
KeyEvent
)
e
;
if
(
keyEvent
.
getID
()
==
KeyEvent
.
KEY_RELEASED
)
{
if
(
keyEvent
.
getKeyCode
()
==
KeyEvent
.
VK_1
)
{
System
.
out
.
println
(
obj
.
pane
.
toString
());
System
.
out
.
println
(
"obj.myCanvas.pos: "
+
obj
.
myCanvas
.
getBounds
());
System
.
out
.
println
(
obj
.
myCanvas
.
toString
());
}
else
if
(
keyEvent
.
getKeyCode
()
==
KeyEvent
.
VK_2
)
{
obj
.
repaint
();
}
else
if
(
keyEvent
.
getKeyCode
()
==
KeyEvent
.
VK_DOWN
)
{
Point
scrollPosition
=
obj
.
pane
.
getScrollPosition
();
scrollPosition
.
translate
(
0
,
1
);
obj
.
pane
.
setScrollPosition
(
scrollPosition
);
}
else
if
(
keyEvent
.
getKeyCode
()
==
KeyEvent
.
VK_UP
)
{
Point
scrollPosition
=
obj
.
pane
.
getScrollPosition
();
scrollPosition
.
translate
(
0
,
-
1
);
obj
.
pane
.
setScrollPosition
(
scrollPosition
);
}
else
if
(
keyEvent
.
getKeyCode
()
==
KeyEvent
.
VK_SPACE
)
{
obj
.
pane
.
validate
();
}
}
}
},
AWTEvent
.
KEY_EVENT_MASK
);
Point
scrollPosition
=
obj
.
pane
.
getScrollPosition
();
scrollPosition
.
translate
(
0
,
1
);
obj
.
pane
.
setScrollPosition
(
scrollPosition
);
int
y
=
obj
.
pane
.
getComponent
(
0
).
getLocation
().
y
;
obj
.
pane
.
validate
();
if
(
y
!=
obj
.
pane
.
getComponent
(
0
).
getLocation
().
y
){
throw
new
RuntimeException
(
"Wrong position of component in ScrollPane"
);
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录