如何通过单击图像生成事件?

时间:2015-01-17 19:37:09

标签: java swing event-handling

我正在设计一个GUI,我在几个框架中添加了logo。我想让徽标功能化,这样当它们被点击时,它会返回到主菜单框架。

例如;我在这里创建了以下徽标(在控制器类中):

    LogoTitlePanel = new JPanel(new GridLayout(1, 1));
    LogoTitlePanel.setBackground(new java.awt.Color(255, 255, 255));
    frame.add(LogoTitlePanel, BorderLayout.PAGE_START);
    frame.setVisible(true);

    LogoImage = new ImageIcon(getClass().getResource("Acme.png"));
    ImageContainer = new JLabel(LogoImage);
    LogoTitlePanel.add(ImageContainer);
    wholeFramePanel.add(LogoTitlePanel);
    frame.add(wholeFramePanel, BorderLayout.CENTER);
    frame.setVisible(true);

...我希望Acme.png图像在点击时将它们带到此框架(在MainMenu类中):

    frame = new JFrame("Aston Cruise & Maritime Enterprise");

有可能做到这一点吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:2)

您可以使用JButton而不是JLabel,然后只需向该按钮添加一个ActionListener。

您可以使用以下方式使按钮看起来像标签:

button.setBorderPainted( false );
button.setFocusPainted( false );

答案 1 :(得分:0)

尝试使用MouseListener ...

,而不是使用ActionListener
private MouseListener listener = new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
        //Code...
    }
}

LogoImage.addMouseListener(listener);