i am using this code to display a background image in my jtable. it is working, but i dont want the image to be scrolled when using the scroll bar in the jscrollpane. how can i do that?
table = new JTable(){ public boolean isCellEditable(int a, int c) { return false; }
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; }
ImageIcon image = new ImageIcon( "images/handbags.JPG" );
public void paint( Graphics g ) { 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 );
super.paint(g); } }; table.setOpaque(false);
Teach me to die that so I may<br />Rise glorious at the awful day
I would suggest associating the background image with the JScrollPane's JViewport. Since the view port itself doesn't scroll, that takes care of the problem. Here is some sample code: I like to use a border to draw the image, and in that way avoid excess subclassing, but your mileage may vary.
There is no emoticon for what I am feeling!
Those cherries would go best on cherry cheesecake. Don't put those cherries on this tiny ad: