gpt4 book ai didi

java - 如何通过实例化类来使多个 JButton 单独工作?

转载 作者:行者123 更新时间:2023-12-01 18:32:11 26 4
gpt4 key购买 nike

我只是java编程的初学者,在类里面我很困惑。我们的任务是制作 3 个 jButton,当您单击它们时,会出现一个 gif。我们的老师说我们必须展示 3 个对象的实例化,每个对象控制一个按钮。请帮我;我很困惑!

这是我的代码的一部分(图像图标部分)

public void addButtonsToContentPanel() {
ImageIcon frog = new ImageIcon("frog.gif");
ImageIcon buffalo = new ImageIcon("buffalo.gif");

fancyButton1 = new JButton("Fancy Button", frog);
fancyButton1.setRolloverIcon(buffalo);


p.add(fancyButton1);
fancyButton1.addActionListener(this);
}

^^ 如何编写上面的代码,以便将 fancyButton1 与类的实例化链接?抱歉,如果我说的话没有意义;我不知道该如何表达。

最佳答案

fancyButton1 = new ImageButton()

通过调用 new ImageButton(),您将实例化 ImageButton 类的新对象。

我不太确定你被要求做什么。以下是实例化三个按钮的代码:

ImageButton fancyButton1 = new ImageButton()
ImageButton fancyButton2 = new ImageButton()
ImageButton fancyButton3 = new ImageButton()

您可能会被要求做的另一件事是定义 Cyber​​pet 类,以便它可以创建自己的 JButton,大致如下:

class CyberPet {

private String name;
private ImageIcon imgIcon;
private ImageIcon rolloverImgIcon;

// Initialiser
Cyberpet(String name, String pathToImgIcon, String pathToRolloverImgIcon) {
this.name = name;
this.imgIcon = new ImageIcon(pathToImgIcon);
this.rolloverImgIcon = new ImageIcon(pathToRolloverImgIcon);
}

public JButton createButton() {
JButton btn = new JButton(this.name, this.imgIcon);
btn.setRolloverIcon(this.rolloverImgIcon);
}
}

public void addButtonsToContentPanel() {
Cyberpet frog = new Cyberpet("frog.gif", "buffalo.gif");
fancyButton1 = frog.createButton();
fancyButton1.addActionListener(this);
}

希望这有帮助。如果我误解了这个问题,请告诉我,我会尽力提供更好的答案。

关于java - 如何通过实例化类来使多个 JButton 单独工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60141771/

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