Мне нужно создать карту изображений с помощью Swing, которая отображает фоновое изображение, а затем, когда мышь наводит курсор (или щелкает) на определенные горячие точки, мне нужно всплывать «увеличенное» изображение и отображать его.
Я думал о расширении JPanel, чтобы включить ссылку на изображение и нарисовать ее с помощью метода paintComponent(g). Эту часть я сделал до сих пор, и вот код:
public class ImagePanel extends JPanel
{
private static final long serialVersionUID = 1L;
private Image image;
public ImagePanel(Image image)
{
setImage(image);
}
public void setImage(Image newImage)
{
image = newImage;
}
@Override
public void paintComponent(Graphics g)
{
Dimension size = getSize();
g.drawImage(image, 0, 0, size.width, size.height, this);
}
Может ли кто-нибудь порекомендовать, как я могу слушать / реагировать на щелчки мыши по определенным горячим точкам? Может ли кто-нибудь дополнительно порекомендовать способ отображения всплывающих окон? Моя внутренняя реакция состояла в том, чтобы расширить JPopupMenu
, чтобы он отображал изображение, подобное приведенному выше коду.
Спасибо за любую помощь!