收藏 分享(赏)

java Jtable 经典列设置+表格颜色.doc

上传人:weiwoduzun 文档编号:2730259 上传时间:2018-09-26 格式:DOC 页数:16 大小:121.50KB
下载 相关 举报
java Jtable 经典列设置+表格颜色.doc_第1页
第1页 / 共16页
java Jtable 经典列设置+表格颜色.doc_第2页
第2页 / 共16页
java Jtable 经典列设置+表格颜色.doc_第3页
第3页 / 共16页
java Jtable 经典列设置+表格颜色.doc_第4页
第4页 / 共16页
java Jtable 经典列设置+表格颜色.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、作者:泪089大家大多数看到的设置Jtable 的行颜色是,仅仅值是一个列子,完全没有在实际的Gui 用应用,好多的列子特简单。而本人做的则是在实际的应用中完成的,说明:在邮件程序中判断某列的数据来设置某行的颜色,一下程序中,我们可以根据发送的完成百分比来索引到改列数值所在的行,具体我们看下面import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.util.ArrayList;import java.util.List;import java.util.Vector;imp

2、ort javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.SwingConstants;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import com.s361.server.mail.util.RowColorRenderer_Running;1,创建第一个类G

3、UI用于显示public class GUI extends JFrame private static JFrame frame = null;private static JPanel panel = null;static JTable table = null;static DefaultTableModel tabledtm = new DefaultTableModel();/* int complete = 0; static int row = 0;*/static JScrollPane scrollPane = null;/ 定义table中的内容不可编辑 ,Default

4、TableModel 是Jtable的一个方法public boolean isCellEditable() return false;/GUi的方法public GUI() frame = new JFrame();frame.setBounds(200, 200, 500, 500);panel = new JPanel();panel.setBackground(Color.white);String temp = new String5;Vector title = new Vector();title.add(“文件名“);title.add(“发件人“);title.add(“收件

5、人“);title.add(“收件时间“);title.add(“完成百分比“);title.add(“每秒接收“);/在表格中添加标题tabledtm = new DefaultTableModel(null, title);/ 用来设定dtm中表格数据不可修改(查看isCellEditable)table = new JTable(tabledtm) public boolean isCellEditable(int row, int column) return false;table.setModel(tabledtm);JScrollPane scrollPane = new JSc

6、rollPane(table);/ 在滚动框中加入tablescrollPane.setPreferredSize(new Dimension(400, 300);/大小设置DefaultTableCellRenderer send = new DefaultTableCellRenderer();send.setHorizontalAlignment(SwingConstants.CENTER);/ 设置每行的高度 为25table.setRowHeight(25);/ 设置相邻两行 单元格的距离table.setRowMargin(0);/ 可选择行table.setRowSelectio

7、nAllowed(true);/ 选择行背景色table.setSelectionBackground(new Color(189, 252, 201);/ 薄荷绿/ /选择行前景色table.setGridColor(new Color(200, 200, 200);/ 是否显示这 个网格table.setShowGrid(true);/ 是否显示水平网格table.setShowHorizontalLines(true);/ 是否显示垂直网格table.setShowVerticalLines(true);/ 表格背景色table.setBackground(Color.yellow);D

8、efaultTableCellRenderer tcr = new DefaultTableCellRenderer();tcr.setHorizontalAlignment(SwingConstants.CENTER);table.getColumn(“文件名“).setCellRenderer(tcr);table.getColumn(“发件人“).setCellRenderer(tcr);table.getColumn(“收件人“).setCellRenderer(tcr);table.getColumn(“收件时间“).setCellRenderer(tcr);table.getCol

9、umn(“完成百分比“).setCellRenderer(tcr);table.getColumn(“每秒接收“).setCellRenderer(tcr);panel.add(scrollPane, BorderLayout.CENTER);frame.add(panel);frame.setVisible(true);frame.setResizable(true);/ *写个数据传入表格的方法这个比较重要,以为涉及到数据在表格中的显示*public static void showTableInfo(List table_info) /正在运行行索引列表 ,List runningRow

10、Indexes = new ArrayList(); for(int i=0 ;i runningRowIndexes;private DefaultTableModel dtm;/一个有参的构造函数public RowColorRenderer_Running(List runningRowIndexes,DefaultTableModel dtm)this.runningRowIndexes = runningRowIndexes;this.dtm = dtm;/下面就是索引到你想要设置某行的颜色了 (注意JTable *这是你的table名,我只是命名了tabel 方便识别)public

11、 Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column)if(runningRowIndexes.indexOf(row) -1)setBackground(Color.RED);elsesetBackground(new Color(115,240,2445);return /super.super.getTableCellRendererComponent(这里的table要看你自己的table名, )s

12、uper.getTableCellRendererComponent(table, dtm.getValueAt(row, column),isSelected, hasFocus, row, column);第 4 个类就是测试类,在这里要把数值传进去import java.util.ArrayList;import java.util.List;public class TestFrame public static void main(String args) new GUI();List table_info = new ArrayList();/文件名,发件人,收件人,时间,百分比,

13、每秒接受TableInfo t1=new TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “1“);TableInfo t2=new TableInfo(“1“, “2“, “3“, “12“, “13“, “0“, “2“);TableInfo t3=new TableInfo(“1“, “2“, “3“, “12“, “13“, “0“, “2“);TableInfo t4=new TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “2“);TableInfo t5=new TableInfo(“1“, “2“, “3“,

14、“12“, “0“, “12“, “212“);TableInfo t6=new TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “212“);TableInfo t7=new TableInfo(“1“, “2“, “3“, “12“, “3“, “0“, “212“);TableInfo t8=new TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “0“);TableInfo t9=new TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “212“);TableInfo t10=new

15、TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “212“);TableInfo t11=new TableInfo(“1“, “2“, “3“, “12“, “0“, “0“, “212“);table_info.add(t1);table_info.add(t2);table_info.add(t3);table_info.add(t4);table_info.add(t5);table_info.add(t6);table_info.add(t7);table_info.add(t8);table_info.add(t9);table_info.add(t10);table_info.add(t11);GUI.showTableInfo(table_info);/GUi调用Show 的方法来、/显示效果窗口:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报