java swing table列渲染_java swing的渲染table方法:

table = new PersonTable(box){

public void prepareTableHeaderRenderer(JLabel renderer, TTableColumn tableColumn){

renderer.setOpaque(false);// 如果为 true,则该组件绘制其边界内的所有像素

renderer.setForeground(Color.white);// 设置此组件的前景色。

renderer.setFont(font);// 设置此组件的字体。

}             public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {                 Component component = super.prepareRenderer(renderer, row, col);                 if(alternateButton.isSelected()){                     setAlternateRowColor(component, row, col);                 }else{                     setGradientRowColor(component, row, col);                 }                 Person person = (Person) table.getElementByRowIndex(row);//获得该行的persona对象                 if(person != null && !person.isSelected()){//当前对象不为空且没有被选择                     if(person.getAge() == 20 || person.getAge() == 80){                         component.setBackground(Color.green);                     }                 }                 return component;             }             public boolean isCellEditable(int row, int col) {                 TTableColumn column = this.getColumnByIndex(col);                 if(column.getName().equals(TWaverConst.USER_PROPERTY_PREFIX + "MultiLine")){                     return true;                 }                 return super.isCellEditable(row, col);             }                         protected JTableHeader createDefaultTableHeader() {                 return new JTableHeader(columnModel){                     public void paintComponent(Graphics g) {                         this.setOpaque(false);                         Graphics2D g2 = (Graphics2D)g;                         g2.setPaint(new GradientPaint(0, this.getHeight()/4, Color.black, 0, this.getHeight()/7*6, tableHeaderColor, true));                         g2.fillRect(0, 0, table.getWidth(), this.getHeight());                         super.paintComponent(g);                     }                 };             }                    };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值