Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
a57cac1d
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看板
提交
a57cac1d
编写于
5月 25, 2010
作者:
A
alexp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6937798: Nimbus: Issues with JTable grid
Reviewed-by: rupashka
上级
d3c98585
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
169 addition
and
3 deletion
+169
-3
src/share/classes/javax/swing/plaf/synth/SynthTableUI.java
src/share/classes/javax/swing/plaf/synth/SynthTableUI.java
+5
-3
test/javax/swing/JTable/6937798/bug6937798.java
test/javax/swing/JTable/6937798/bug6937798.java
+164
-0
未找到文件。
src/share/classes/javax/swing/plaf/synth/SynthTableUI.java
浏览文件 @
a57cac1d
...
...
@@ -361,12 +361,14 @@ public class SynthTableUI extends BasicTableUI
cMax
=
table
.
getColumnCount
()-
1
;
}
// Paint the grid.
paintGrid
(
context
,
g
,
rMin
,
rMax
,
cMin
,
cMax
);
// Paint the cells.
paintCells
(
context
,
g
,
rMin
,
rMax
,
cMin
,
cMax
);
// Paint the grid.
// it is important to paint the grid after the cells, otherwise the grid will be overpainted
// because in Synth cell renderers are likely to be opaque
paintGrid
(
context
,
g
,
rMin
,
rMax
,
cMin
,
cMax
);
paintDropLines
(
context
,
g
);
}
...
...
test/javax/swing/JTable/6937798/bug6937798.java
0 → 100644
浏览文件 @
a57cac1d
/*
* Copyright 2010 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/* @test
@bug 6937798
@summary Nimbus: Issues with JTable grid
@author Alexander Potochkin
@run main bug6937798
*/
import
com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
;
import
javax.swing.*
;
import
javax.swing.table.AbstractTableModel
;
import
javax.swing.table.TableModel
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
public
class
bug6937798
{
public
static
void
main
(
String
...
args
)
throws
Exception
{
UIManager
.
setLookAndFeel
(
new
NimbusLookAndFeel
());
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
new
bug6937798
();
}
});
}
public
bug6937798
()
{
final
JTable
table
=
createCountryTable
();
table
.
setShowGrid
(
true
);
table
.
setSize
(
100
,
100
);
BufferedImage
im
=
new
BufferedImage
(
table
.
getWidth
(),
table
.
getHeight
(),
BufferedImage
.
TYPE_INT_ARGB
);
Graphics
g
=
im
.
getGraphics
();
table
.
print
(
g
);
g
.
dispose
();
for
(
int
i
=
0
;
i
<
im
.
getHeight
();
i
++)
{
for
(
int
j
=
0
;
j
<
im
.
getWidth
();
j
++)
{
if
(
im
.
getRGB
(
i
,
j
)
==
table
.
getGridColor
().
getRGB
())
{
System
.
out
.
println
(
"got it!"
);
return
;
}
}
}
throw
new
RuntimeException
(
"no table's grid detected...."
);
}
protected
JTable
createCountryTable
()
{
// Column headers
final
String
[]
headers
=
{
"Name"
,
"Capital City"
,
"Language(s)"
,
"Monetary Unit(s)"
,
"EC Member"
};
// Table data
final
Object
[][]
data
=
{
{
"Albania"
,
"Tirane"
,
"Albanian, Greek"
,
"Lek"
,
new
Boolean
(
false
)},
{
"Andorra"
,
"Andorra la Vella"
,
"Catalan, French, Spanish"
,
"French Franc, Spanish Peseta"
,
new
Boolean
(
false
)},
{
"Austria"
,
"Vienna"
,
"German, Slovenian, Croatian"
,
"Schilling"
,
new
Boolean
(
false
)},
{
"Belarus"
,
"Minsk"
,
"Byelorussian, Russian"
,
"Belarusian Rubel"
,
new
Boolean
(
false
)},
{
"Belgium"
,
"Brussels"
,
"French, Flemish, German"
,
"Belgian Franc"
,
new
Boolean
(
true
)},
{
"Bosnia & Herzegovina"
,
"Sarajevo"
,
"Serbo-Croatian"
,
"Dinar"
,
new
Boolean
(
false
)},
{
"Bulgaria"
,
"Sofia"
,
"Bulgarian, Turkish"
,
"Lev"
,
new
Boolean
(
false
)},
{
"Croatia"
,
"Zagreb"
,
"Serbo-Croatian"
,
"Croatian Kuna"
,
new
Boolean
(
false
)},
{
"Czech Republic"
,
"Prague"
,
"Czech, Slovak"
,
"Koruna"
,
new
Boolean
(
false
)},
{
"Denmark"
,
"Copenhagen"
,
"Danish"
,
"Krone"
,
new
Boolean
(
true
)},
{
"Estonia"
,
"Tallinn"
,
"Estonian, Latvian, Lithuanian, Russian"
,
"Estonian Kroon"
,
new
Boolean
(
false
)},
{
"Finland"
,
"Helsinki"
,
"Finnish, Swedish, Lappish"
,
"Markka"
,
new
Boolean
(
false
)},
{
"France"
,
"Paris"
,
"French"
,
"Franc"
,
new
Boolean
(
true
)},
{
"Germany"
,
"Berlin"
,
"German"
,
"Deutsche Mark"
,
new
Boolean
(
true
)},
{
"Greece"
,
"Athens"
,
"Greek, English, French"
,
"Drachma"
,
new
Boolean
(
true
)},
{
"Hungary"
,
"Budapest"
,
"Hungarian"
,
"Forint"
,
new
Boolean
(
false
)},
{
"Iceland"
,
"Reykjavik"
,
"Icelandic"
,
"Icelandic Krona"
,
new
Boolean
(
false
)},
{
"Ireland"
,
"Dublin"
,
"Irish, English"
,
"Pound"
,
new
Boolean
(
true
)},
{
"Italy"
,
"Rome"
,
"Italian"
,
"Lira"
,
new
Boolean
(
true
)},
{
"Latvia"
,
"Riga"
,
"Lettish, Lithuanian, Russian"
,
"Lat"
,
new
Boolean
(
false
)},
{
"Liechtenstein"
,
"Vaduz"
,
"German"
,
"Swiss Franc"
,
new
Boolean
(
false
)},
{
"Lithuania"
,
"Vilnius"
,
"Lithuanian, Polish, Russian"
,
"Lita"
,
new
Boolean
(
false
)},
{
"Luxembourg"
,
"Luxembourg"
,
"French, German, Letzeburgesch"
,
"Luxembourg Franc"
,
new
Boolean
(
true
)},
{
"Macedonia"
,
"Skopje"
,
"Macedonian, Albanian, Turkish, Serbo-Croatian"
,
"Denar"
,
new
Boolean
(
false
)},
{
"Malta"
,
"Valletta"
,
"Maltese, English"
,
"Maltese Lira"
,
new
Boolean
(
false
)},
{
"Moldova"
,
"Chisinau"
,
"Moldovan, Russian"
,
"Leu"
,
new
Boolean
(
false
)},
{
"Monaco"
,
"Monaco"
,
"French, English, Italian"
,
"French Franc"
,
new
Boolean
(
false
)},
{
"the Netherlands"
,
"Amsterdam"
,
"Dutch"
,
"Guilder"
,
new
Boolean
(
true
)},
{
"Norway"
,
"Oslo"
,
"Norwegian"
,
"Krone"
,
new
Boolean
(
false
)},
{
"Poland"
,
"Warsaw"
,
"Polish"
,
"Zloty"
,
new
Boolean
(
false
)},
{
"Portugal"
,
"Lisbon"
,
"Portuguese"
,
"Escudo"
,
new
Boolean
(
true
)},
{
"Romania"
,
"Bucharest"
,
"Romanian"
,
"Leu"
,
new
Boolean
(
false
)},
{
"Russia"
,
"Moscow"
,
"Russian"
,
"Ruble"
,
new
Boolean
(
false
)},
{
"San Marino"
,
"San Marino"
,
"Italian"
,
"Italian Lira"
,
new
Boolean
(
false
)},
{
"Slovakia"
,
"Bratislava"
,
"Slovak, Hungarian"
,
"Koruna"
,
new
Boolean
(
false
)},
{
"Slovenia"
,
"Ljubljana"
,
"Slovenian, Serbo-Croatian"
,
"Tolar"
,
new
Boolean
(
false
)},
{
"Spain"
,
"Madrid"
,
"Spanish"
,
"Peseta"
,
new
Boolean
(
true
)},
{
"Sweden"
,
"Stockholm"
,
"Swedish"
,
"Krona"
,
new
Boolean
(
false
)},
{
"Switzerland"
,
"Bern"
,
"German, French, Italian"
,
"Swiss Franc"
,
new
Boolean
(
false
)},
{
"Turkey"
,
"Ankara"
,
"Turkish"
,
"Turkish Lira"
,
new
Boolean
(
false
)},
{
"Ukraine"
,
"Kiev"
,
"Ukranian, Russian, Romanian, Polish, Hungarian"
,
"Hryvnia"
,
new
Boolean
(
false
)},
{
"United Kingdom"
,
"London"
,
"English, Welsh"
,
"British Pound"
,
new
Boolean
(
true
)},
{
"Yugoslavia"
,
"Belgrade"
,
"Serbo-Croatian, Slovenian, Macedonian"
,
"Dinar"
,
new
Boolean
(
false
)},
};
// Table model
TableModel
dataModel
=
new
AbstractTableModel
()
{
public
int
getColumnCount
()
{
return
headers
.
length
;
}
public
int
getRowCount
()
{
return
data
.
length
;
}
public
Object
getValueAt
(
int
row
,
int
col
)
{
return
data
[
row
][
col
];
}
public
String
getColumnName
(
int
column
)
{
return
headers
[
column
];
}
public
Class
getColumnClass
(
int
col
)
{
return
getValueAt
(
0
,
col
).
getClass
();
}
public
void
setValueAt
(
Object
aValue
,
int
row
,
int
column
)
{
data
[
row
][
column
]
=
aValue
;
}
public
boolean
isCellEditable
(
int
row
,
int
col
)
{
return
(
col
==
4
);
}
};
// Create table with table model
JTable
countryTable
=
new
JTable
(
dataModel
);
countryTable
.
setGridColor
(
Color
.
pink
);
countryTable
.
setBackground
(
Color
.
white
);
countryTable
.
setForeground
(
Color
.
black
);
return
countryTable
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录