繼前面三篇也許大家會根據例子太簡單而且很丑,如果你想看更多的例子我強烈建議你看看TWaver Java的產品Demo,里面有各種復雜、花哨和實用的應用,很有多人驚嘆JDK6新增的com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel,感覺其默認表格的各行換色很酷,其實該功能多年前就在TWaver Java的產品Demo中有體現,并且還能實現各行漸進的效果,不過這個例子需要點非常規的小技巧,通過重載JTable的prepareRenderer來實現,我就不細介紹了大家看代碼吧:
1
public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
2
Component componet = super.prepareRenderer(renderer, row, col);
3
if (componet instanceof JComponent) {
4
JComponent comp = (JComponent) componet;
5
comp.setOpaque(true);
6
Person person = (Person)this.getElementByRowIndex(row);
7
int blueValue = 255 - (person.getAge() * 2);
8
9
TTableColumn column = (TTableColumn)this.getColumnByIndex(col);
10
if(column.getName().equals("age")){
11
if(!person.isSelected()){
12
comp.setBackground(new Color(255, blueValue, 255));
13
}
14
comp.setFont(font);
15
}
16
else{
17
if(!person.isSelected()){
18
comp.setBackground(new Color(255, 255, blueValue));
19
}
20
}
21
}
22
return componet;
23
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23
