设置列表框指定行的文字颜色


 

 1 list.setCellRenderer(new MyRenderer(new int[] {2,3}, Color.RED));   //设置列表框的第2行和第3行文字颜色为红色
 2 
 3 class MyRenderer extends DefaultListCellRenderer {  
 4       
 5     private Font font1;  
 6     private Font font2;  
 7     private Color rowcolor;  
 8     private int row;  
 9     private int[] rows;  
10  
11     public MyRenderer() {  
12         this.font1 = getFont();  
13         this.font2 = font1.deriveFont((float) (font1.getSize() + 10));  
14     }  
15  
16     public MyRenderer(int row, Color color) {  
17         this.rowcolor = color;  
18         this.row = row;  
19     }  
20  
21     public MyRenderer(int[] rows, Color color) {  
22         this.rowcolor = color;  
23         this.rows = rows;  
24     }  
25  
26     public Component getListCellRendererComponent(JList list, Object value,  
27             int index, boolean isSelected, boolean cellHasFocus) {  
28         super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);  
29         if (rows==null) {  
30             if (index == row) {  
31                 setForeground(this.rowcolor);  
32                 setFont(getFont().deriveFont((float) (getFont().getSize() + 2)));  
33             }  
34         } else {  
35             for (int i = 0; i < rows.length; i++) {  
36                 if (index == rows[i]) {  
37                     setForeground(this.rowcolor);  
38                     setFont(getFont().deriveFont((float) (getFont().getSize() + 2)));  
39                 }  
40             }  
41         }  
42  
43         return this;  
44     }  
45 }  

 

转载于:https://www.cnblogs.com/freeabyss/archive/2013/06/14/3187049.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值