JTable设置行背景颜色及实现打印功能的示例代码精品资料.doc
《JTable设置行背景颜色及实现打印功能的示例代码精品资料.doc》由会员分享,可在线阅读,更多相关《JTable设置行背景颜色及实现打印功能的示例代码精品资料.doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JTable设置行背景颜色及实现打印功能的示例代码2008-01-14 15:24之前JAVA图形化编程一直用得很少,最近应朋友需要理事了两个.java文件,用于实现JTable设置行背景颜色及实现打印功能,相应示例代码如下:JAVA文件一,PlanetTable.classimport java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.
2、swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;/* 本类为JTable一个简单应用,实现了JTable的行颜色设置及表格的打印功能* */public class PlanetTable public static void main(String args) JFrame frame = new PlanetTableFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fra
3、me.setVisible(true);class PlanetTableFrame extends JFrame public PlanetTableFrame() / 用于控制每一行颜色的数组 String color = H, A, F, E, W ; setTitle(PlanetTable); setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); / 定义JTable,实例成自己扩展的JTable类,并传入用于设定颜色的数组 final JTable table = new StyleTable(cells, columnNames, color); / 下
4、面这行代码可实现相邻两行颜色交替的效果,注意与上一行的区别/ final JTable table = new StyleTable(cells, columnNames); add(new JScrollPane(table), BorderLayout.CENTER); JButton printButton = new JButton(Print); printButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) try table.print(); cat
5、ch (java.awt.print.PrinterException e) e.printStackTrace(); ); JPanel buttonPanel = new JPanel(); buttonPanel.add(printButton); add(buttonPanel, BorderLayout.SOUTH);private Object cells = Mercury, new Double(2440.0), new Integer(0), new Boolean(false), Color.yellow , Venus, new Double(60520.0), new
6、Integer(0), new Boolean(false), Color.yellow , Earth, new Double(6378.0), new Integer(1), new Boolean(false), Color.blue , Mars, new Double(3397.0), new Integer(2), new Boolean(false), Color.red , Jupiter, new Double(71492.0), new Integer(16), new Boolean(false), Color.orange ;private String columnN
7、ames = Planet, Radius, Moons, Gaseous, Color ;private static final int DEFAULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 200;下面的类文件是实现颜色控制的核心所在,对于需要有背景颜色设定的表格只需在实例化JTable对象处,实例成StyleTable即可,注意前面绿色背景的文字。JAVA文件二,StyleTable .classimport java.awt.Color;import java.awt.Component;import javax.
8、swing.JTable;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.TableColumn;import javax.swing.table.TableColumnModel;/* 本类实现了对JTable颜色的控制,提供了两套方案: * 1.实现了表格行两种颜色交替的效果 * 2.实现了用一个控制颜色的字符串数组来设置所对应行的颜色* * author Sidney* version 1.0 (2008-1-14)*/public class StyleTable extends JT
9、able /* 用于设定行颜色的数组*/private String color = null;public StyleTable() super();public StyleTable(Object rowData, Object columnNames) super(rowData, columnNames); paintRow();public StyleTable(Object rowData, Object columnNames, String color) super(rowData, columnNames); this.color = color; paintColorRow
10、();/* 根据color数组中相应字符串所表示的颜色来设置某行的颜色,注意,JTable中可以对列进行整体操作* 而无法对行进行整体操作,故设置行颜色实际上是逐列地设置该行所有单元格的颜色。*/public void paintRow() TableColumnModel tcm = this.getColumnModel(); for (int i = 0, n = tcm.getColumnCount(); i n; i+) TableColumn tc = tcm.getColumn(i); tc.setCellRenderer(new RowRenderer(); public vo
11、id paintColorRow() TableColumnModel tcm = this.getColumnModel(); for (int i = 0, n = tcm.getColumnCount(); i n; i+) TableColumn tc = tcm.getColumn(i); tc.setCellRenderer(new RowColorRenderer(); /* 定义内部类,用于控制单元格颜色,每两行颜色相间,本类中定义为蓝色和绿色。* * author Sidney* */private class RowRenderer extends DefaultTable
12、CellRenderer public Component getTableCellRendererComponent(JTable t, Object value, boolean isSelected, boolean hasFocus, int row, int column) /设置奇偶行的背景色,可在此根据需要进行修改 if (row % 2 = 0) setBackground(Color.BLUE); else setBackground(Color.GREEN); return super.getTableCellRendererComponent(t, value, isSe
13、lected, hasFocus, row, column); /* 定义内部类,可根据一个指定字符串数组来设置对应行的背景色* * author Sidney* */private class RowColorRenderer extends DefaultTableCellRenderer public Component getTableCellRendererComponent(JTable t, Object value, boolean isSelected, boolean hasFocus, int row, int column) /分支判断条件可根据需要进行修改 if (c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JTable设置行背景颜色及实现打印功能的示例代码 精品资料 JTable 设置 背景 颜色 实现 打印 功能 示例 代码 精品 资料
限制150内