aquaballoon

Java: Print Table with colored background

Feb 26th, 2012
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.09 KB | None | 0 0
  1. package feb24_test;
  2.  
  3. import javax.swing.JTable;
  4. import javax.swing.SwingUtilities;
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7. import javax.swing.JScrollPane;
  8. import javax.swing.table.TableCellRenderer;
  9. import java.awt.Dimension;
  10. import java.awt.GridLayout;
  11. import java.awt.Component;
  12. import java.awt.Color;
  13.  
  14. public class ColorTable extends JTable {
  15.  
  16. private static final String[] columnNames =
  17.     {"First Name", "Last Name", "Sport",
  18.     "# of Years", "Vegetarian"};
  19.  
  20. private static final Object[][] data = {
  21.     {"Mary", "Campione", "Snowboarding",
  22.     new Integer(5), new Boolean(false)},
  23.     {"Alison", "Huml", "Rowing",
  24.     new Integer(3), new Boolean(true)},
  25.     {"Kathy", "Walrath", "Knitting",
  26.     new Integer(2), new Boolean(false)},
  27.     {"Sharon", "Zakhour", "Speed reading",
  28.     new Integer(20), new Boolean(true)},
  29.     {"Philip", "Milne", "Pool",
  30.     new Integer(10), new Boolean(false)} };    
  31.    
  32.    
  33. public ColorTable() {
  34.     super(data, columnNames);
  35.     setUpJFrame();
  36. }
  37.  
  38. private void setUpJFrame() {
  39.     JFrame frame = new JFrame();
  40.     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  41.     frame.add(getTablePanel());
  42.     frame.pack();
  43.     frame.setVisible(true);
  44. }
  45.  
  46. private JPanel getTablePanel(){
  47.     JPanel jPanel = new JPanel(new GridLayout(1,0));
  48.     jPanel.setOpaque(true);
  49.     setPreferredScrollableViewportSize(new Dimension(500, 70));
  50.     jPanel.add(new JScrollPane(this));
  51.     return jPanel;
  52. }
  53.  
  54.  
  55. //--the beginning of Background color set--
  56.     @Override
  57. public Component prepareRenderer(
  58.     TableCellRenderer renderer, int row, int col) {
  59.         Component c = super.prepareRenderer(renderer, row, col);
  60.         if (row % 2 == 0 && !isCellSelected(row,col)) {
  61.             c.setBackground(Color.LIGHT_GRAY);
  62.         } else {
  63.             c.setBackground(getBackground());
  64.         }
  65.         return c;
  66. }
  67. //--the end of Background color set--
  68.  
  69. public static void main(String[] args) {
  70.     SwingUtilities.invokeLater(new Runnable() {
  71.         public void run() {
  72.             new ColorTable();
  73.             }
  74.         });
  75.     }
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment