java swing jtable外观属性一

public static void makeJTable(JTable table){
 

 //表格排序jdk1.6新功能
  TableRowSorter<TableModel>sorter = newTableRowSorter<TableModel>(table.getModel());
  table.setRowSorter(sorter);
  
  //设置行高
  table.setRowHeight(Constants.TB_ROW_HEIGHT);
  
  //设置表格线
  table.setGridColor(SystemColor.controlHighlight);
  
  //table.getTableHeader().set
  //表头居中显示
  JTableHeader tbh =table.getTableHeader();
  DefaultTableCellRenderer renderer =(DefaultTableCellRenderer)tbh.getDefaultRenderer();
  renderer.setHorizontalAlignment(SwingConstants.CENTER); 
  
  //设置表头字体
  //Font headFont =UIManager.getFont("Menu.font");
  //tbh.setFont(headFont);
  
  //table.setFont(UIManager.getFont("Menu.font"));

  try {
   DefaultTableCellRenderertcr = new DefaultTableCellRenderer() {
    
    privatestatic final long serialVersionUID = 1826425922704465800L;

    publicComponent getTableCellRendererComponent(JTable table,
      Objectvalue, boolean isSelected, boolean hasFocus,
      introw, int column) {
     
     //设置奇偶行颜色
     if(row % 2 == 0){
      setBackground(Color.white);// 设置奇数行底色
     }
     elseif (row % 2 == 1){
      setBackground(newColor(237, 237, 237)); // 设置偶数行底色
     }
     
     //如果为数值则右对齐
     Patternp = Pattern.compile("^(-?\d+)(\.\d+)?$");
     Stringsv = (value != null ? value.toString() :"");  
     if(p.matcher(sv).matches()){
      this.setHorizontalAlignment(SwingConstants.RIGHT);
      
      //自动格式化小数位
      if(sv.indexOf(".")!= -1){
       value= StringTools.formatMoney(Double.parseDouble(sv));
       //System.out.println(sv+ ", d:" + Double.parseDouble(sv) + ",f:" + value);
      }
      
     }else{
      this.setHorizontalAlignment(SwingConstants.LEFT);
     
     
     returnsuper.getTableCellRendererComponent(table, value, isSelected,hasFocus, row, column);
    }
   };
   
   for (int i =0; i < table.getColumnCount(); i++) {
    TableColumntc = table.getColumn(table.getColumnName(i));
    tc.setCellRenderer(tcr);
    
   }
  } catch (Exception ex) {
   ex.printStackTrace();
  }
  
  //设置table外层scrollPane的背景色
  Container c =table.getParent();
  if(c instanceofJViewport){
   JViewport jp= (JViewport)c;
   jp.setBackground(newColor(250, 250, 250));
  }
 }


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值