gpt4 book ai didi

java Jbutton数组阻止构造函数完成运行

转载 作者:行者123 更新时间:2023-11-30 02:57:27 25 4
gpt4 key购买 nike

所以我想创建一个程序来创建一个带有 8 个 JButton 的 JPanel 窗口。我没有重复 JButton,而是创建了一个包含所有 JButton 的数组,并创建了一个循环来创建它们。然而,自从我创建了一个数组以来,构造函数在循环结束后将不会继续。直到我将 JButton 放入数组中才发生这种情况。

public class Gui extends JFrame {

private JButton Subject[] = new JButton[7];
private String SubjNames[] = {"Length", "Mass", "Currency", "Temperature", "Time", "Speed", "Data", "Cooking"};

private int SubjectLocX = 40;
private int SubjectLocY = 50;




public Gui (){

super("Converter");
setLayout(null);

System.out.println("yes");

for (int i = 0; i<8; i++) {
Subject[i] = new JButton(SubjNames[i]);
Subject[i].setLocation(SubjectLocX,SubjectLocY);
Subject[i].setSize(200,50);
add(Subject[i]);
if (i < 3) {
SubjectLocX = 40;
SubjectLocY += 100;
} else if (i == 3) {
SubjectLocY = 50;
} else if (i > 3) {
SubjectLocX = 330;
SubjectLocY += 100;
}
}

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600,500);
setLocation(400,200);
setVisible(true);



}
}

是的,我导入了所需的所有内容,并在单独的类中创建了该类的对象。它将运行,但构造函数在循环后不会继续。如果删除带有数组“Subject[i]”的行,构造函数将完成并出现窗口,但对于数组,则不会出现。为什么??

最佳答案

也许是因为您有一个包含 7 个元素的 JButton 数组,并且您试图初始化其中的 8 个。使用 private JButtonSubject[] = new JButton[8] 更改声明,您将修复。

关于java Jbutton数组阻止构造函数完成运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36851011/

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