【作者:孟祥月 博客: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(); } }上面的代码标识出了设置字的颜色的代码段。