|
Java™ by example!
|
|
|
How do I add a background image to my JTable?
 import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; public class BackgroundTable { public static void main(String[] args) { JFrame frame = new JFrame("Table Example"); frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { Window w = e.getWindow(); w.setVisible(false); w.dispose(); System.exit(0); } }); JTable imTable = new JTable(35, 3) { public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer( renderer, row, column); // We want renderer component to be //transparent so background image is visible if( c instanceof JComponent ) ((JComponent)c).setOpaque(false); return c; } public void paint( Graphics g ) { ImageIcon image = new ImageIcon("FIREFALL.gif"); // tile the background image Dimension d = getSize(); for( int x = 0; x < d.width; x += image.getIconWidth() ) for( int y = 0; y < d.height; y += image.getIconHeight() ) g.drawImage( image.getImage(), x, y, null, null ); // Now let the paint do its usual work super.paint(g); } }; //make the table transparent imTable.setOpaque(false); JScrollPane jsp = new JScrollPane(imTable); frame.getContentPane().add(jsp); frame.pack(); frame.show(); } }
|
Further Information
Author of answer:
Comments
Comments to this answer are only viewable by members. Login or become a member!
|
|
|
|
|