如何从事件中将图像放在屏幕上?

时间:2013-11-03 20:13:01

标签: java eclipse image swing events

我想在事件发生时在屏幕上添加图像。在我的情况下,这将来自单击按钮。我试图自己解决这个问题,但图像没有出现。我不知道出了什么问题。

我的代码:

JButton button2 = new JButton("+");
button2.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e)
    {
        //Execute when button is pressed
        System.out.println("button #2 working");
        label2 = new JLabel(new ImageIcon(this.getClass().getResource("50.png")));      
        label2.setLocation(10, 60);
        label2.setSize(300, 532);
        add(label2);
        //? Not working 
    }
}); 

button2.setSize(50, 40); 
button2.setFont(new Font("Arial", 1, 20));
button2.setLocation(110, 592);
button2.setBackground(Color.ORANGE);
content.add(button2);

1 个答案:

答案 0 :(得分:0)

我实际上已经做了类似于你想要达到的目标。但是,我通过使用不同的方法来实现这一点。例如,您可以创建一个MyPanel类,它扩展JPanel并覆盖paintComponent()方法。在paintComponent()方法中,您可以调用g.drawImage(yourImage,0,0,null);将图像添加到面板。然后是创建MyPanel实例并将其添加到GUI上的任何位置。此外,请不要忘记在单击按钮后调用repaint(),否则您将看不到更改。