• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Jtable background image

 
Jude Fawly
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi there,

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);
 
Jeff Albertson
Ranch Hand
Posts: 1780
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic