gpt4 book ai didi

java - 单击另一个按钮即可交换 2 个按钮上的图像

转载 作者:行者123 更新时间:2023-12-02 05:27:00 25 4
gpt4 key购买 nike

我有 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();
}

}

最佳答案

在您的actionPerformed中,不要调用:

b1=new JButton(bgi1);
b2=new JButton(bgi2);

只需设置图标即可:

b1.setIcon(bgi1);
b2.setIcon(bgi2);

关于java - 单击另一个按钮即可交换 2 个按钮上的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25920947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com