// ImagePanel
//
// Copyright (C) by Andrea Carboni.
// This file may be distributed under the terms of the LGPL license.
//
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class ImagePanel extends JPanel
{
private ImageIcon image = new ImageIcon();
private int margin = 0;
//---------------------------------------------------------------------------
public ImagePanel()
{
}
//---------------------------------------------------------------------------
public ImagePanel(String imageFile)
{
setImage(imageFile);
}
//---------------------------------------------------------------------------
public void setImage(String imageFile)
{
image = new ImageIcon(imageFile);
updatePrefSize();
}
//---------------------------------------------------------------------------
public void setMargin(int m)
{
margin = m;
updatePrefSize();
}
//---------------------------------------------------------------------------
//---
//--- Internal methods
//---
//---------------------------------------------------------------------------
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if (image.getImage() != null)
g.drawImage(image.getImage(), margin, margin, this);
}
//---------------------------------------------------------------------------
private void updatePrefSize()
{
int iw = image.getIconWidth();
int ih = image.getIconHeight();
setPreferredSize(new Dimension(iw + margin*2, ih + margin*2));
}
}
|