Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
3ce543e2
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3ce543e2
编写于
11月 08, 2011
作者:
L
lana
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
5f228013
822ac46b
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
648 addition
and
57 deletion
+648
-57
src/share/classes/javax/swing/JTable.java
src/share/classes/javax/swing/JTable.java
+2
-0
src/share/classes/javax/swing/JTree.java
src/share/classes/javax/swing/JTree.java
+3
-1
src/share/classes/javax/swing/text/DefaultCaret.java
src/share/classes/javax/swing/text/DefaultCaret.java
+1
-1
src/share/classes/javax/swing/text/html/HTMLDocument.java
src/share/classes/javax/swing/text/html/HTMLDocument.java
+6
-1
src/share/classes/sun/awt/image/OffScreenImageSource.java
src/share/classes/sun/awt/image/OffScreenImageSource.java
+2
-2
src/share/classes/sun/swing/SwingUtilities2.java
src/share/classes/sun/swing/SwingUtilities2.java
+44
-33
src/share/demo/jfc/TransparentRuler/README.txt
src/share/demo/jfc/TransparentRuler/README.txt
+1
-5
src/solaris/classes/sun/awt/X11/XComponentPeer.java
src/solaris/classes/sun/awt/X11/XComponentPeer.java
+12
-4
src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
...laris/classes/sun/awt/X11/generator/WrapperGenerator.java
+9
-9
src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
...solaris/native/sun/awt/splashscreen/splashscreen_config.h
+1
-1
test/javax/swing/JEditorPane/4492274/bug4492274.java
test/javax/swing/JEditorPane/4492274/bug4492274.java
+111
-0
test/javax/swing/JEditorPane/4492274/test.html
test/javax/swing/JEditorPane/4492274/test.html
+7
-0
test/javax/swing/JSlider/6348946/bug6348946.java
test/javax/swing/JSlider/6348946/bug6348946.java
+172
-0
test/javax/swing/JTextArea/7049024/bug7049024.java
test/javax/swing/JTextArea/7049024/bug7049024.java
+134
-0
test/javax/swing/ToolTipManager/Test6256140.java
test/javax/swing/ToolTipManager/Test6256140.java
+143
-0
未找到文件。
src/share/classes/javax/swing/JTable.java
浏览文件 @
3ce543e2
...
...
@@ -1828,6 +1828,8 @@ public class JTable extends JComponent implements TableModelListener, Scrollable
* table. While the {@code autoCreateRowSorter} property remains
* {@code true}, every time the model is changed, a new {@code
* TableRowSorter} is created and set as the table's row sorter.
* The default value for the {@code autoCreateRowSorter}
* property is {@code false}.
*
* @param autoCreateRowSorter whether or not a {@code RowSorter}
* should be automatically created
...
...
src/share/classes/javax/swing/JTree.java
浏览文件 @
3ce543e2
...
...
@@ -1838,7 +1838,9 @@ public class JTree extends JComponent implements Scrollable, Accessible
* nodes, or <code>null</code> if nothing is currently selected
*/
public
TreePath
[]
getSelectionPaths
()
{
return
getSelectionModel
().
getSelectionPaths
();
TreePath
[]
selectionPaths
=
getSelectionModel
().
getSelectionPaths
();
return
(
selectionPaths
!=
null
&&
selectionPaths
.
length
>
0
)
?
selectionPaths
:
null
;
}
/**
...
...
src/share/classes/javax/swing/text/DefaultCaret.java
浏览文件 @
3ce543e2
...
...
@@ -1326,7 +1326,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou
if
(
!
SwingUtilities2
.
canCurrentEventAccessSystemClipboard
()
)
{
return
;
}
if
(
this
.
dot
!=
this
.
mark
&&
component
!=
null
)
{
if
(
this
.
dot
!=
this
.
mark
&&
component
!=
null
&&
component
.
hasFocus
()
)
{
Clipboard
clip
=
getSystemSelection
();
if
(
clip
!=
null
)
{
String
selectedText
;
...
...
src/share/classes/javax/swing/text/html/HTMLDocument.java
浏览文件 @
3ce543e2
...
...
@@ -1181,7 +1181,12 @@ public class HTMLDocument extends DefaultStyledDocument {
public
void
insertAfterStart
(
Element
elem
,
String
htmlText
)
throws
BadLocationException
,
IOException
{
verifyParser
();
if
(
elem
!=
null
&&
elem
.
isLeaf
())
{
if
(
elem
==
null
||
htmlText
==
null
)
{
return
;
}
if
(
elem
.
isLeaf
())
{
throw
new
IllegalArgumentException
(
"Can not insert HTML after start of a leaf"
);
}
...
...
src/share/classes/sun/awt/image/OffScreenImageSource.java
浏览文件 @
3ce543e2
/*
* Copyright (c) 1995, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 20
11
, 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
...
...
@@ -185,7 +185,7 @@ public class OffScreenImageSource implements ImageProducer {
theConsumer
.
setDimensions
(
image
.
getWidth
(),
image
.
getHeight
());
theConsumer
.
setProperties
(
properties
);
sendPixels
();
theConsumer
.
imageComplete
(
ImageConsumer
.
S
INGLEFRAM
EDONE
);
theConsumer
.
imageComplete
(
ImageConsumer
.
S
TATICIMAG
EDONE
);
}
catch
(
NullPointerException
e
)
{
if
(
theConsumer
!=
null
)
{
theConsumer
.
imageComplete
(
ImageConsumer
.
IMAGEERROR
);
...
...
src/share/classes/sun/swing/SwingUtilities2.java
浏览文件 @
3ce543e2
...
...
@@ -524,55 +524,66 @@ public class SwingUtilities2 {
}
// If we get here we're not printing
AATextInfo
info
=
drawTextAntialiased
(
c
);
if
(
info
!=
null
&&
(
g
instanceof
Graphics2D
))
{
if
(
g
instanceof
Graphics2D
)
{
AATextInfo
info
=
drawTextAntialiased
(
c
);
Graphics2D
g2
=
(
Graphics2D
)
g
;
Object
oldContrast
=
null
;
Object
oldAAValue
=
g2
.
getRenderingHint
(
KEY_TEXT_ANTIALIASING
);
if
(
info
.
aaHint
!=
oldAAValue
)
{
g2
.
setRenderingHint
(
KEY_TEXT_ANTIALIASING
,
info
.
aaHint
);
}
else
{
oldAAValue
=
null
;
}
if
(
info
.
lcdContrastHint
!=
null
)
{
oldContrast
=
g2
.
getRenderingHint
(
KEY_TEXT_LCD_CONTRAST
);
if
(
info
.
lcdContrastHint
.
equals
(
oldContrast
))
{
oldContrast
=
null
;
}
else
{
g2
.
setRenderingHint
(
KEY_TEXT_LCD_CONTRAST
,
info
.
lcdContrastHint
);
}
}
boolean
needsTextLayout
=
((
c
!=
null
)
&&
(
c
.
getClientProperty
(
TextAttribute
.
NUMERIC_SHAPING
)
!=
null
));
if
(
needsTextLayout
)
{
synchronized
(
charsBufferLock
)
{
int
length
=
syncCharsBuffer
(
text
);
needsTextLayout
=
isComplexLayout
(
charsBuffer
,
0
,
length
);
}
}
if
(
needsTextLayout
)
{
TextLayout
layout
=
createTextLayout
(
c
,
text
,
g2
.
getFont
(),
if
(
info
!=
null
)
{
Object
oldContrast
=
null
;
Object
oldAAValue
=
g2
.
getRenderingHint
(
KEY_TEXT_ANTIALIASING
);
if
(
info
.
aaHint
!=
oldAAValue
)
{
g2
.
setRenderingHint
(
KEY_TEXT_ANTIALIASING
,
info
.
aaHint
);
}
else
{
oldAAValue
=
null
;
}
if
(
info
.
lcdContrastHint
!=
null
)
{
oldContrast
=
g2
.
getRenderingHint
(
KEY_TEXT_LCD_CONTRAST
);
if
(
info
.
lcdContrastHint
.
equals
(
oldContrast
))
{
oldContrast
=
null
;
}
else
{
g2
.
setRenderingHint
(
KEY_TEXT_LCD_CONTRAST
,
info
.
lcdContrastHint
);
}
}
if
(
needsTextLayout
)
{
TextLayout
layout
=
createTextLayout
(
c
,
text
,
g2
.
getFont
(),
g2
.
getFontRenderContext
());
layout
.
draw
(
g2
,
x
,
y
);
}
else
{
g
.
drawString
(
text
,
x
,
y
);
}
layout
.
draw
(
g2
,
x
,
y
);
}
else
{
g
.
drawString
(
text
,
x
,
y
);
}
if
(
oldAAValue
!=
null
)
{
g2
.
setRenderingHint
(
KEY_TEXT_ANTIALIASING
,
oldAAValue
);
if
(
oldAAValue
!=
null
)
{
g2
.
setRenderingHint
(
KEY_TEXT_ANTIALIASING
,
oldAAValue
);
}
if
(
oldContrast
!=
null
)
{
g2
.
setRenderingHint
(
KEY_TEXT_LCD_CONTRAST
,
oldContrast
);
}
return
;
}
if
(
oldContrast
!=
null
)
{
g2
.
setRenderingHint
(
KEY_TEXT_LCD_CONTRAST
,
oldContrast
);
if
(
needsTextLayout
){
TextLayout
layout
=
createTextLayout
(
c
,
text
,
g2
.
getFont
(),
g2
.
getFontRenderContext
());
layout
.
draw
(
g2
,
x
,
y
);
return
;
}
}
else
{
g
.
drawString
(
text
,
x
,
y
);
}
}
g
.
drawString
(
text
,
x
,
y
);
}
/**
* Draws the string at the specified location underlining the specified
...
...
src/share/demo/jfc/TransparentRuler/README.txt
浏览文件 @
3ce543e2
To run the Ruler demo:
java -jar Ruler.jar
java -jar
Transparent
Ruler.jar
These instructions assume that this installation's version of the java
command is in your path. If it isn't, then you should either
specify the complete path to the java command or update your
PATH environment variable as described in the installation
instructions for the Java(TM) SE Development Kit.
KNOWN ISSUES:
Context menu is clipped with the window shape. The issues are:
CR 7027486 JPopupMenu doesn't take window shape into account
src/solaris/classes/sun/awt/X11/XComponentPeer.java
浏览文件 @
3ce543e2
...
...
@@ -466,12 +466,16 @@ public class XComponentPeer extends XWindow implements ComponentPeer, DropTarget
if
(
true
)
{
switch
(
e
.
getID
())
{
case
PaintEvent
.
UPDATE
:
log
.
finer
(
"XCP coalescePaintEvent : UPDATE : add : x = "
+
if
(
log
.
isLoggable
(
PlatformLogger
.
FINER
))
{
log
.
finer
(
"XCP coalescePaintEvent : UPDATE : add : x = "
+
r
.
x
+
", y = "
+
r
.
y
+
", width = "
+
r
.
width
+
",height = "
+
r
.
height
);
}
return
;
case
PaintEvent
.
PAINT
:
log
.
finer
(
"XCP coalescePaintEvent : PAINT : add : x = "
+
if
(
log
.
isLoggable
(
PlatformLogger
.
FINER
))
{
log
.
finer
(
"XCP coalescePaintEvent : PAINT : add : x = "
+
r
.
x
+
", y = "
+
r
.
y
+
", width = "
+
r
.
width
+
",height = "
+
r
.
height
);
}
return
;
}
}
...
...
@@ -1248,7 +1252,9 @@ public class XComponentPeer extends XWindow implements ComponentPeer, DropTarget
* ButtonPress, ButtonRelease, KeyPress, KeyRelease, EnterNotify, LeaveNotify, MotionNotify
*/
protected
boolean
isEventDisabled
(
XEvent
e
)
{
enableLog
.
finest
(
"Component is {1}, checking for disabled event {0}"
,
e
,
(
isEnabled
()?
"enabled"
:
"disable"
));
if
(
enableLog
.
isLoggable
(
PlatformLogger
.
FINEST
))
{
enableLog
.
finest
(
"Component is {1}, checking for disabled event {0}"
,
e
,
(
isEnabled
()?
"enabled"
:
"disable"
));
}
if
(!
isEnabled
())
{
switch
(
e
.
get_type
())
{
case
XConstants
.
ButtonPress
:
...
...
@@ -1258,7 +1264,9 @@ public class XComponentPeer extends XWindow implements ComponentPeer, DropTarget
case
XConstants
.
EnterNotify
:
case
XConstants
.
LeaveNotify
:
case
XConstants
.
MotionNotify
:
enableLog
.
finer
(
"Event {0} is disable"
,
e
);
if
(
enableLog
.
isLoggable
(
PlatformLogger
.
FINER
))
{
enableLog
.
finer
(
"Event {0} is disable"
,
e
);
}
return
true
;
}
}
...
...
src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
浏览文件 @
3ce543e2
...
...
@@ -678,7 +678,7 @@ public class WrapperGenerator {
public
void
writeToString
(
StructType
stp
,
PrintWriter
pw
)
{
int
type
;
pw
.
println
(
"\n\n\tString getName() {\n\t\treturn \""
+
stp
.
getName
()+
"\"; \n\t}"
);
pw
.
println
(
"\n\n\tString getFieldsAsString() {\n\t\tString
ret=\"\"
;\n"
);
pw
.
println
(
"\n\n\tString getFieldsAsString() {\n\t\tString
Builder ret = new StringBuilder("
+
stp
.
getNumFields
()
*
40
+
")
;\n"
);
for
(
Enumeration
e
=
stp
.
getMembers
()
;
e
.
hasMoreElements
()
;)
{
AtomicType
tp
=
(
AtomicType
)
e
.
nextElement
();
...
...
@@ -688,24 +688,24 @@ public class WrapperGenerator {
if
((
name
!=
null
)
&&
(
name
.
length
()
>
0
))
{
if
(
type
==
AtomicType
.
TYPE_ATOM
)
{
pw
.
println
(
"\t\tret
+= \"\"+\""
+
name
+
" = \" + XAtom.get(get_"
+
name
+
"()) +\", \"
;"
);
pw
.
println
(
"\t\tret
.append(\""
+
name
+
" = \" ).append( XAtom.get(get_"
+
name
+
"()) ).append(\", \")
;"
);
}
else
if
(
name
.
equals
(
"type"
))
{
pw
.
println
(
"\t\tret
+= \"\"+\"type = \" + XlibWrapper.eventToString[get_type()] +\", \"
;"
);
pw
.
println
(
"\t\tret
.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \")
;"
);
}
else
if
(
name
.
equals
(
"window"
)){
pw
.
println
(
"\t\tret
+= \"\"+\"window = \" + getWindow(get_window()) + \", \"
;"
);
pw
.
println
(
"\t\tret
.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \")
;"
);
}
else
if
(
type
==
AtomicType
.
TYPE_ARRAY
)
{
pw
.
print
(
"\t\tret
+= \"{\"
"
);
pw
.
print
(
"\t\tret
.append(\"{\")
"
);
for
(
int
i
=
0
;
i
<
tp
.
getArrayLength
();
i
++)
{
pw
.
print
(
"
+ get_"
+
name
+
"("
+
i
+
") + \" \"
"
);
pw
.
print
(
"
\n\t\t.append( get_"
+
name
+
"("
+
i
+
") ).append(\" \")
"
);
}
pw
.
println
(
"
+ \"}\"
;"
);
pw
.
println
(
"
.append( \"}\")
;"
);
}
else
{
pw
.
println
(
"\t\tret
+= \"\"+\""
+
name
+
" = \" + get_"
+
name
+
"() +\", \"
;"
);
pw
.
println
(
"\t\tret
.append(\""
+
name
+
" = \").append( get_"
+
name
+
"() ).append(\", \")
;"
);
}
}
}
pw
.
println
(
"\t\treturn ret;\n\t}\n\n"
);
pw
.
println
(
"\t\treturn ret
.toString()
;\n\t}\n\n"
);
}
public
void
writeStubs
(
StructType
stp
,
PrintWriter
pw
)
{
...
...
src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
浏览文件 @
3ce543e2
...
...
@@ -32,7 +32,7 @@
#include <X11/Xutil.h>
#include <X11/extensions/shape.h>
#include <sys/types.h>
#include <
sys/
unistd.h>
#include <unistd.h>
#include <pthread.h>
#include <signal.h>
#include <inttypes.h>
...
...
test/javax/swing/JEditorPane/4492274/bug4492274.java
0 → 100644
浏览文件 @
3ce543e2
/*
* Copyright (c) 2007, 2011, 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 4492274
* @summary Tests if JEditorPane.getPage() correctly returns anchor reference.
* @author Denis Sharypov
*/
import
sun.awt.SunToolkit
;
import
javax.swing.*
;
import
javax.swing.text.html.HTMLEditorKit
;
import
java.awt.*
;
import
java.io.File
;
import
java.net.URL
;
public
class
bug4492274
{
private
static
URL
page
;
private
static
JEditorPane
jep
;
public
static
void
main
(
String
args
[])
throws
Exception
{
SunToolkit
toolkit
=
(
SunToolkit
)
Toolkit
.
getDefaultToolkit
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
createAndShowGUI
();
}
});
toolkit
.
realSync
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
page
=
new
URL
(
page
,
"#linkname"
);
jep
.
setPage
(
page
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
});
toolkit
.
realSync
();
if
(
getPageAnchor
()
==
null
)
{
throw
new
RuntimeException
(
"JEditorPane.getPage() returns null anchor reference"
);
}
}
private
static
String
getPageAnchor
()
throws
Exception
{
final
String
[]
result
=
new
String
[
1
];
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
result
[
0
]
=
jep
.
getPage
().
getRef
();
}
});
return
result
[
0
];
}
private
static
void
createAndShowGUI
()
{
try
{
File
file
=
new
File
(
System
.
getProperty
(
"test.src"
,
"."
),
"test.html"
);
page
=
file
.
toURI
().
toURL
();
JFrame
f
=
new
JFrame
();
jep
=
new
JEditorPane
();
jep
.
setEditorKit
(
new
HTMLEditorKit
());
jep
.
setEditable
(
false
);
jep
.
setPage
(
page
);
JScrollPane
sp
=
new
JScrollPane
(
jep
);
f
.
getContentPane
().
add
(
sp
);
f
.
setSize
(
500
,
500
);
f
.
setVisible
(
true
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
test/javax/swing/JEditorPane/4492274/test.html
0 → 100644
浏览文件 @
3ce543e2
<html>
<body>
<a
name=
"top"
>
top
</a>
<img
src=
a.jpg
width=
500
height=
1000
>
<a
name=
"linkname"
>
bottom
</a>
</body>
</html>
test/javax/swing/JSlider/6348946/bug6348946.java
0 → 100644
浏览文件 @
3ce543e2
/*
* Copyright (c) 2007, 2011, 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 6348946
* @summary Tests that JSlider's thumb moves in the right direction
* when it is used as a JTable cell editor.
* @author Mikhail Lapshin
*/
import
sun.awt.SunToolkit
;
import
java.awt.*
;
import
java.awt.event.InputEvent
;
import
javax.swing.*
;
import
javax.swing.event.*
;
import
javax.swing.table.*
;
public
class
bug6348946
{
private
static
JFrame
frame
;
private
static
JPanel
panel
;
private
static
volatile
boolean
passed
=
false
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
String
lf
=
"javax.swing.plaf.metal.MetalLookAndFeel"
;
UIManager
.
setLookAndFeel
(
lf
);
SunToolkit
toolkit
=
(
SunToolkit
)
Toolkit
.
getDefaultToolkit
();
try
{
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
setupUI
();
}
});
toolkit
.
realSync
();
clickOnSlider
();
toolkit
.
realSync
();
checkResult
();
}
finally
{
stopEDT
();
}
}
private
static
void
setupUI
()
{
frame
=
new
JFrame
();
panel
=
new
JPanel
();
panel
.
setLayout
(
new
BorderLayout
());
panel
.
add
(
new
ParameterTable
(),
BorderLayout
.
CENTER
);
frame
.
getContentPane
().
add
(
panel
);
frame
.
pack
();
frame
.
setLocationRelativeTo
(
null
);
frame
.
setVisible
(
true
);
}
private
static
void
clickOnSlider
()
throws
Exception
{
Robot
robot
=
new
Robot
();
robot
.
setAutoDelay
(
10
);
Rectangle
rect
=
getPanelRectangle
();
double
clickX
=
rect
.
getX
()
+
rect
.
getWidth
()
/
4
;
double
clickY
=
rect
.
getY
()
+
rect
.
getHeight
()
/
2
;
robot
.
mouseMove
((
int
)
clickX
,
(
int
)
clickY
);
robot
.
mousePress
(
InputEvent
.
BUTTON1_MASK
);
robot
.
mouseRelease
(
InputEvent
.
BUTTON1_MASK
);
}
private
static
void
checkResult
(){
if
(
passed
)
{
System
.
out
.
println
(
"Test passed"
);
}
else
{
throw
new
RuntimeException
(
"The thumb moved "
+
"to the right instead of the left!"
);
}
}
private
static
void
stopEDT
()
{
SwingUtilities
.
invokeLater
(
new
Runnable
()
{
public
void
run
()
{
frame
.
dispose
();
}
});
}
private
static
class
ParameterTable
extends
JTable
{
public
ParameterTable
()
{
super
(
new
Object
[][]{{
5
}},
new
String
[]{
"Value"
});
getColumnModel
().
getColumn
(
0
).
setCellRenderer
(
new
Renderer
());
getColumnModel
().
getColumn
(
0
).
setCellEditor
(
new
Editor
());
}
}
private
static
class
Renderer
implements
TableCellRenderer
{
private
JSlider
slider
=
new
JSlider
(
0
,
10
);
public
Component
getTableCellRendererComponent
(
JTable
table
,
Object
value
,
boolean
isSelected
,
boolean
hasFocus
,
int
row
,
int
col
)
{
int
val
=
(
Integer
)
value
;
slider
.
setValue
(
val
);
return
slider
;
}
}
private
static
class
Editor
extends
AbstractCellEditor
implements
TableCellEditor
{
private
JSlider
slider
=
new
JSlider
(
0
,
10
);
public
Component
getTableCellEditorComponent
(
JTable
table
,
Object
value
,
boolean
isSelected
,
int
row
,
int
col
)
{
int
val
=
(
Integer
)
value
;
slider
.
setValue
(
val
);
return
slider
;
}
public
Editor
()
{
slider
.
addChangeListener
(
new
ChangeListener
()
{
public
void
stateChanged
(
ChangeEvent
e
)
{
if
(!
slider
.
getValueIsAdjusting
())
{
passed
=
slider
.
getValue
()
<=
5
;
}
}
});
}
public
Object
getCellEditorValue
()
{
return
slider
.
getValue
();
}
}
private
static
Rectangle
getPanelRectangle
()
throws
Exception
{
final
Rectangle
[]
result
=
new
Rectangle
[
1
];
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
result
[
0
]
=
new
Rectangle
(
panel
.
getLocationOnScreen
(),
panel
.
getSize
());
}
});
return
result
[
0
];
}
}
test/javax/swing/JTextArea/7049024/bug7049024.java
0 → 100644
浏览文件 @
3ce543e2
/*
* Copyright (c) 2011 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.
*/
/*
* Portions Copyright (c) 2011 IBM Corporation
*/
/* @test
* @bug 7049024
* @summary DnD fails with JTextArea and JTextField
* @author Sean Chou
*/
import
sun.awt.SunToolkit
;
import
javax.swing.*
;
import
javax.swing.text.DefaultCaret
;
import
java.awt.*
;
import
java.awt.datatransfer.Clipboard
;
import
java.awt.datatransfer.DataFlavor
;
public
class
bug7049024
{
public
static
Clipboard
clipboard
=
null
;
public
static
JTextField
textField
=
null
;
// This button is used to move focus away from textField.
public
static
JButton
button
=
null
;
public
static
JFrame
frame
=
null
;
public
static
DefaultCaret
caret
=
null
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
SunToolkit
toolkit
=
(
SunToolkit
)
Toolkit
.
getDefaultToolkit
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
frame
=
new
JFrame
(
"Test"
);
textField
=
new
JTextField
(
"test selection for textfield"
);
button
=
new
JButton
(
"To compete the focus"
);
frame
.
setLayout
(
new
FlowLayout
());
frame
.
getContentPane
().
add
(
textField
);
frame
.
getContentPane
().
add
(
button
);
frame
.
pack
();
frame
.
setDefaultCloseOperation
(
JFrame
.
EXIT_ON_CLOSE
);
frame
.
setVisible
(
true
);
}
});
toolkit
.
realSync
();
clipboard
=
textField
.
getToolkit
().
getSystemSelection
();
if
(
null
==
clipboard
)
{
return
;
}
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
textField
.
requestFocusInWindow
();
}
});
toolkit
.
realSync
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
caret
=
(
DefaultCaret
)
textField
.
getCaret
();
caret
.
setDot
(
2
);
caret
.
moveDot
(
4
);
}
});
toolkit
.
realSync
();
String
oldSelection
=
(
String
)
clipboard
.
getData
(
DataFlavor
.
stringFlavor
);
System
.
out
.
println
(
"oldSelection is "
+
oldSelection
);
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
button
.
requestFocusInWindow
();
}
});
toolkit
.
realSync
();
// So JTextField loses the focus.
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
caret
.
setDot
(
4
);
caret
.
moveDot
(
6
);
}
});
toolkit
.
realSync
();
String
newSelection
=
(
String
)
clipboard
.
getData
(
DataFlavor
.
stringFlavor
);
System
.
out
.
println
(
"newSelection is "
+
newSelection
);
boolean
passed
=
newSelection
.
equals
(
oldSelection
);
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
frame
.
dispose
();
}
});
if
(!
passed
)
{
throw
new
RuntimeException
(
"The test for bug 7049024 failed"
);
}
}
}
test/javax/swing/ToolTipManager/Test6256140.java
0 → 100644
浏览文件 @
3ce543e2
/*
* Copyright (c) 2007, 2011, 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 6256140
* @summary Esc key doesn't restore old value in JFormattedtextField when ToolTip is set
* @author Alexander Potochkin
* @run main Test6256140
*/
import
sun.awt.SunToolkit
;
import
javax.swing.*
;
import
java.awt.*
;
import
java.awt.event.KeyEvent
;
public
class
Test6256140
{
private
static
volatile
JFormattedTextField
ft
;
private
final
static
String
initialText
=
"value"
;
private
final
static
JLabel
toolTipLabel
=
new
JLabel
(
"tip"
);
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Robot
robot
=
new
Robot
();
robot
.
setAutoDelay
(
10
);
SunToolkit
toolkit
=
(
SunToolkit
)
Toolkit
.
getDefaultToolkit
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
createAndShowGUI
();
}
});
toolkit
.
realSync
();
Point
point
=
ft
.
getLocationOnScreen
();
robot
.
mouseMove
(
point
.
x
,
point
.
y
);
robot
.
mouseMove
(
point
.
x
+
3
,
point
.
y
+
3
);
robot
.
keyPress
(
KeyEvent
.
VK_A
);
robot
.
keyRelease
(
KeyEvent
.
VK_A
);
toolkit
.
realSync
();
if
(!
isTooltipShowning
())
{
throw
new
RuntimeException
(
"Tooltip is not shown"
);
}
robot
.
keyPress
(
KeyEvent
.
VK_ESCAPE
);
robot
.
keyRelease
(
KeyEvent
.
VK_ESCAPE
);
toolkit
.
realSync
();
if
(
isTooltipShowning
())
{
throw
new
RuntimeException
(
"Tooltip must be hidden now"
);
}
if
(
isTextEqual
())
{
throw
new
RuntimeException
(
"FormattedTextField must *not* cancel the updated value this time"
);
}
robot
.
keyPress
(
KeyEvent
.
VK_ESCAPE
);
robot
.
keyRelease
(
KeyEvent
.
VK_ESCAPE
);
toolkit
.
realSync
();
if
(!
isTextEqual
())
{
throw
new
RuntimeException
(
"FormattedTextField must cancel the updated value"
);
}
}
private
static
boolean
isTooltipShowning
()
throws
Exception
{
final
boolean
[]
result
=
new
boolean
[
1
];
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
result
[
0
]
=
toolTipLabel
.
isShowing
();
}
});
return
result
[
0
];
}
private
static
boolean
isTextEqual
()
throws
Exception
{
final
boolean
[]
result
=
new
boolean
[
1
];
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
@Override
public
void
run
()
{
result
[
0
]
=
initialText
.
equals
(
ft
.
getText
());
}
});
return
result
[
0
];
}
private
static
void
createAndShowGUI
()
{
ToolTipManager
.
sharedInstance
().
setDismissDelay
(
Integer
.
MAX_VALUE
);
ToolTipManager
.
sharedInstance
().
setInitialDelay
(
0
);
final
JFrame
frame
=
new
JFrame
();
frame
.
setDefaultCloseOperation
(
JFrame
.
EXIT_ON_CLOSE
);
frame
.
setLayout
(
new
FlowLayout
());
ft
=
new
JFormattedTextField
()
{
public
JToolTip
createToolTip
()
{
JToolTip
toolTip
=
super
.
createToolTip
();
toolTip
.
setLayout
(
new
BorderLayout
());
toolTip
.
add
(
toolTipLabel
);
return
toolTip
;
}
};
ft
.
setToolTipText
(
" "
);
ft
.
setValue
(
initialText
);
frame
.
add
(
ft
);
frame
.
pack
();
frame
.
setLocationRelativeTo
(
null
);
frame
.
setVisible
(
true
);
ft
.
requestFocus
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录