TWaver - 专注UI技术

http://twaver.servasoft.com/
posts - 171, comments - 191, trackbacks - 0, articles - 2
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Renderer&Editor之Swing篇(四)

Posted on 2010-08-24 11:57 TWaver 阅读(1396) 评论(1)  编辑  收藏

继前面三篇也许大家会根据例子太简单而且很丑,如果你想看更多的例子我强烈建议你看看TWaver Java的产品Demo,里面有各种复杂、花哨和实用的应用,很有多人惊叹JDK6新增的com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel,感觉其默认表格的各行换色很酷,其实该功能多年前就在TWaver Java的产品Demo中有体现,并且还能实现各行渐进的效果,不过这个例子需要点非常规的小技巧,通过重载JTable的prepareRenderer来实现,我就不细介绍了大家看代码吧:

 1public 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(255255, blueValue));
19         }

20         }

21     }

22     return componet;
23 }

TWaver Java Demo


评论

# re: Renderer&Editor之Swing篇(四)  回复  更多评论   

2010-08-24 12:08 by 日月雨林@gmail.com
看了4篇文章,感觉还不错,不过感觉你的代码好像都是手写的,都没有用eclipse格式化。

只有注册用户登录后才能发表评论。


网站导航: