中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 用户界面
间隔色的 JTable
作者:未知 时间:2005-07-24 21:16 出处:JR 责编:chinaitpower
              摘要:间隔色的 JTable


方法很简单,只是修改 DefaultTableCellRenderer 里
的 getTableCellRendererComponent 方法,计算行数奇偶,设置颜色。
间隔色的表格可以缓解用户眼睛疲劳

================================================================
  1. /**
  2.  *  [RoundColorTable.java]   间隔色的 JTable
  3.  *
  4.  * 创建日期:(2003-8-11)
  5.  * @author:ONE_Fox
  6.  */
  7.  
  8. import java.awt.*;
  9. import java.awt.event.*;
  10. import javax.swing.*;
  11. import javax.swing.table.*;
  12. public class RoundColorTable extends JFrame {
  13.     private String[] colname = {"第1列","第2列","第3列","第4列","第5列"}; //表头信息
  14.     private String[][] data = new String[10][5]; //表内容
  15.     
  16.     //界面组件----------------------//
  17.     private JScrollPane scroPanel = new JScrollPane(); //中底层滚动面板
  18.     private DefaultTableModel model; //列表默认TableModel
  19.     private JTable table;
  20.     
  21. /**
  22.  * 构造方法 SelectionDemo()
  23.  */    
  24.     public RoundColorTable() {
  25.         makeFace();
  26.         addListener();
  27.         showFace();
  28.     }
  29. /**
  30.  * 方法: 界面构建 makeFace()
  31.  */
  32.     private void makeFace() {
  33.         
  34.         //表内容数组 data[][] 赋值------------//
  35.         for(int i = 0; i < 10; i++) {
  36.             for(int j = 0; j < 5; j++) {
  37.                 data[i][j] = "( " + (j+1) + ", " + (i+1) + " )";
  38.             }
  39.         }
  40.         
  41.         table = new JTable(model = new DefaultTableModel(data,colname));
  42.         
  43.         //新建列表现器------------------------//
  44.         DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
  45.             public Component getTableCellRendererComponent(JTable table, 
  46.                           Object value, boolean isSelected, boolean hasFocus, 
  47.                                                      int row, int column) {
  48.                     
  49.                 if(row%2 == 0)
  50.                     setBackground(Color.white); //设置奇数行底色
  51.                 else if(row%2 == 1)
  52.                     setBackground(new Color(206,231,255));  //设置偶数行底色
  53.                     
  54.                 return super.getTableCellRendererComponent(table, value, 
  55.                                           isSelected, hasFocus, row, column);
  56.             }
  57.         };
  58.         //设置列表现器------------------------//
  59.         for(int i = 0; i < colname.length; i++) {
  60.             table.getColumn(colname[i]).setCellRenderer(tcr);
  61.         }
  62.                 
  63.                 
  64.         scroPanel.getViewport().setBackground(Color.white);
  65.         scroPanel.getViewport().add(table);
  66.         
  67.         //总体界面布局------------------------//
  68.         getContentPane().add(scroPanel, BorderLayout.CENTER);
  69.     }
  70. /**
  71.  * 方法: 界面显示 showFace()
  72.  */
  73.     private void showFace() {
  74.         setTitle("间隔色的 JTable");
  75.         setSize(500,400);
  76.         Toolkit tmpTK = Toolkit.getDefaultToolkit();
  77.         Dimension dime = tmpTK.getScreenSize();
  78.         
  79.         setLocation(dime.width2 - 250, dime.height2 - 200);
  80.         show();
  81.     }
  82. /**
  83.  * 方法: 添加事件监听 addListener()
  84.  */   
  85.     private void addListener() {
  86.         this.addWindowListener(new WindowAdapter(){  //添加窗口关闭事件
  87.             public void windowClosing(WindowEvent e){
  88.                 setVisible(false);
  89.                 dispose();
  90.                 System.exit(0);
  91.             }
  92.         });
  93.     }
  94.         
  95.         
  96. /**
  97.  * 程序入口 main()
  98.  */
  99.     public static void main(String args[]) {
  100.         //获取设置系统风格-------------------//
  101.         try {
  102.             String laf = UIManager.getSystemLookAndFeelClassName();
  103.             UIManager.setLookAndFeel(laf);
  104.         } catch (Exception e) {}
  105.         
  106.         new RoundColorTable();
  107.     }
  108. }
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有