Java中JTbale使用2—设置某一列的字的颜色

【作者:孟祥月   博客:http://blog.csdn.net/mengxiangyue】

在上一个程序的基础上,有添加了一些代码,用来设置表格中某一列字的颜色。

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;

public class Table2 extends JFrame 
{
	JTable table;
	JScrollPane pane;
	TableModel model;
	//数据
	Object[][] data = {{"张三","男",3},
						{"李四","男",4},
						{"小红","女",5}};
	//列名
	Object[] clomnName = {"姓名","性别","年龄"};
	Table2()
	{
		super("表格测试程序");
		init();
	}
	private void init()
	{
		//初始化TableModel,使用数据data,列名clomnName
		model = new DefaultTableModel(data, clomnName)
		{//设置表格中的数据不可以编辑
			public boolean isCellEditable(int r,int c)
			{
				return false;
			}
		};
		//使用上面的model作为参数初始化JTabel
		table = new JTable(model);
		//初始化JScrollPane
		pane = new JScrollPane();
		//将table添加到JScrollPane上 这里使用下面的第一种方法不能添加
		//使用第一个先获得JViewPort对象,然后再添加
//		pane.add(table);
		
	//实现字体颜色的代码
		//获得某一列的tableColumn,tableColumn是一列的管理器
		TableColumn tableColumn = table.getColumn("姓名");
		//初始化table的渲染器
		DefaultTableCellRenderer cellRanderer = new DefaultTableCellRenderer();
		//设置前景色也就是字体颜色
		cellRanderer.setForeground(Color.RED);
		//将上面的渲染器对象放到tableColumn中
		tableColumn.setCellRenderer(cellRanderer);
		
		pane.getViewport().add(table);
		this.getContentPane().add(pane);
		setSize(400,300);//设置Frame的大小
		setResizable(false);//设置窗口不可以调整大小
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出时关闭窗口
		setVisible(true);//设置窗口显示出来
	}
	public static void main(String[] args)
	{
		new Table2();
	}
}
上面的代码标识出了设置字的颜色的代码段。

你可能感兴趣的:(Java中JTbale使用2—设置某一列的字的颜色)