我有两个按钮,每一个图像,我希望通过点击另一个(第三)按钮,前面的2个按钮的图像被交换。我试过了,但我遇到了一些错误。请帮帮忙。我的代码是:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class SwapImage implements ActionListener
{
JButton b1;
JButton b2;
JButton b3;
ImageIcon bgi1;
ImageIcon bgi2;
ImageIcon bgi3=new ImageIcon();
SwapImage()
{
JFrame f=new JFrame("Swap Image");
bgi1=new ImageIcon(getClass().getResource("a.png"));
bgi2=new ImageIcon(getClass().getResource("b.png"));
b1=new JButton(bgi1);
b1.setBounds(80,80,100,100);
//b1.addActionListener(this);
b2=new JButton(bgi2);
b2.setBounds(200,80,100,100);
//b2.addActionListener(this);
b3=new JButton("SWAP");
b3.setBounds(170,230,100,100);
b3.addActionListener(this);
f.add(b1);
f.add(b2);
f.add(b3);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
bgi3=bgi1;
bgi1=bgi2;
bgi2=bgi3;
b1=new JButton(bgi1);
b2=new JButton(bgi2);
}
public static void main(String s[])
{
new SwapImage();
}
}发布于 2014-09-18 19:37:08
在您的actionPerformed中,不要打电话:
b1=new JButton(bgi1);
b2=new JButton(bgi2);相反,只需设置图标:
b1.setIcon(bgi1);
b2.setIcon(bgi2);https://stackoverflow.com/questions/25920947
复制相似问题