gpt4 book ai didi

java - 由 JButton 组成的 ArrayList。但没有按预期工作

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

我现在正在进行一个项目,我正在尝试一些新代码以使我的程序更加高效。我正在考虑一个 ArrayList“骰子”,它将包含一些按钮(应该是骰子)。例如,如果我array.add(die1),我假设我可以引用数组中的对象而不是实际的按钮。

例如:我可以将 die1 的文本设置为 die1.setText(""); 我还想直接对数组中的对象执行此操作,以便我可以使用循环,例如, array.get(i).setText("");

但是它不起作用,这很奇怪。如果我执行array.get(0).getClass(),它会显示javax.Swing.JButton,这似乎是正确的。

Java 11

ArrayList dice = new ArrayList<JButton>();


private void die1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (die1.getBackground() == Color.red) {

dice.remove(dice.indexOf(die1));
die1.setBackground(Color.green);
}
else {
dice.add(die1);
die1.setBackground(Color.red);
}
}

private void btnRollActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

for (int i = 0; i < dice.size(); i++) {

int random = roll();

dice.get(i).setText(""+random); //This displays as error; uncompilable

}
}

预期:工作。但自然无法编译并崩溃。

最佳答案

因为您还没有输入列表的声明。

试试这个:

List<JButton> dice = new ArrayList<>();

关于java - 由 JButton 组成的 ArrayList。但没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56239593/

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