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