间隔色的 JTable

import  java.awt. *
import  java.awt.event. *
import  javax.swing. *
import  javax.swing.table. *


public   class  RoundColorTable  extends  JFrame 
    
private String[] colname = {"第1列","第2列","第3列","第4列","第5列"}//表头信息 
    private String[][] data = new String[10][5]; //表内容 
     
    
//界面组件----------------------// 
    private JScrollPane scroPanel = new JScrollPane(); //中底层滚动面板 
    private DefaultTableModel model; //列表默认TableModel 
    private JTable table; 
     

/** 
 * 构造方法 SelectionDemo() 
 
*/
     
    
public RoundColorTable() 
        makeFace(); 
        addListener(); 
        showFace(); 
    }
 



/** 
 * 方法: 界面构建 makeFace() 
 
*/
 
    
private void makeFace() 
         
        
//表内容数组 data[][] 赋值------------// 
        for(int i = 0; i < 10; i++
            
for(int j = 0; j < 5; j++
                data[i][j] 
= "" + (j+1+ "" + (i+1+ " )"
            }
 
        }
 
         
        table 
= new JTable(model = new DefaultTableModel(data,colname)); 
         
        
//新建列表现器------------------------// 
        DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() 
            
public Component getTableCellRendererComponent(JTable table,  
                          Object value, 
boolean isSelected, boolean hasFocus,  
                                                     
int row, int column) 
                     
                
if(row%2 == 0
                    setBackground(Color.white); 
//设置奇数行底色 
                else if(row%2 == 1
                    setBackground(
new Color(206,231,255));  //设置偶数行底色 
                     
                
return super.getTableCellRendererComponent(table, value,  
                                          isSelected, hasFocus, row, column); 
            }
 
        }

        
//设置列表现器------------------------// 
        for(int i = 0; i < colname.length; i++
            table.getColumn(colname[i]).setCellRenderer(tcr); 
        }
 
                 
                 
        scroPanel.getViewport().setBackground(Color.white); 
        scroPanel.getViewport().add(table); 
         
        
//总体界面布局------------------------// 
        getContentPane().add(scroPanel, BorderLayout.CENTER); 
    }
 



/** 
 * 方法: 界面显示 showFace() 
 
*/
 
    
private void showFace() 
        setTitle(
"间隔色的 JTable"); 
        setSize(
500,400); 
        Toolkit tmpTK 
= Toolkit.getDefaultToolkit(); 
        Dimension dime 
= tmpTK.getScreenSize(); 
         
        setLocation(dime.width
/2 - 250, dime.height/2 - 200); 
        show(); 
    }
 



/** 
 * 方法: 添加事件监听 addListener() 
 
*/
    
    
private void addListener() 
        
this.addWindowListener(new WindowAdapter(){  //添加窗口关闭事件 
            public void windowClosing(WindowEvent e)
                setVisible(
false); 
                dispose(); 
                System.exit(
0); 
            }
 
        }
); 
    }
 
         
         
/** 
 * 程序入口 main() 
 
*/
 
    
public static void main(String args[]) 
        
//获取设置系统风格-------------------// 
        try 
            String laf 
= UIManager.getSystemLookAndFeelClassName(); 
            UIManager.setLookAndFeel(laf); 
        }
 catch (Exception e) {} 
         
        
new RoundColorTable(); 
    }
 
}
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值