Мне нужно создать карту изображений с помощью 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
, чтобы оно отображало изображение, подобное приведенному выше коду.
Спасибо за любую помощь!