Java tutorial
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Cursor; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.awt.print.PageFormat; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collections; import java.util.Comparator; import java.util.GregorianCalendar; import java.util.Vector; import javax.swing.ImageIcon; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.TableColumnModelEvent; import javax.swing.event.TableColumnModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import javax.swing.table.TableModel; public class ColorTableColumnRenderer extends JFrame { protected JTable table; protected MyTableModel tableModel; public ColorTableColumnRenderer() { super("Stocks Table"); setSize(300, 300); tableModel = new MyTableModel(); table = new JTable(); table.setModel(tableModel); DefaultTableCellRenderer renderer = new ColoredTableCellRenderer(); TableColumn column = new TableColumn(0, 190, renderer, null); table.addColumn(column); JScrollPane ps = new JScrollPane(); ps.getViewport().add(table); getContentPane().add(ps, BorderLayout.CENTER); WindowListener wndCloser = new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }; addWindowListener(wndCloser); setVisible(true); } public static void main(String argv[]) { new ColorTableColumnRenderer(); } } class MyTableModel extends AbstractTableModel { protected Vector vector; protected int columnsCount = 1; public MyTableModel() { vector = new Vector(); vector.addElement("2146400"); vector.addElement("554000"); vector.addElement("24230"); } public int getRowCount() { return vector == null ? 0 : vector.size(); } public int getColumnCount() { return columnsCount; } public String getColumnName(int column) { return "data"; } public boolean isCellEditable(int nRow, int nCol) { return false; } public Object getValueAt(int nRow, int nCol) { if (nRow < 0 || nRow >= getRowCount()) return ""; return vector.elementAt(nRow); } public String getTitle() { return "data "; } } class ColoredTableCellRenderer extends DefaultTableCellRenderer { public void setValue(Object value) { setForeground(Color.red); super.setValue(value); } }