这是我正在尝试加载的功能:
public void ShowButtonsArray()
{
SeatsUI Form = new SeatsUI();
Form.setVisible(true);
Form.setSize(1000, 1000); //Sets the screen's size
JButton [][] buttonArr = new JButton[15][12];
int CellSize = 60;
for(int i = 0; i < 15; i++)
{
for(int j = 0 ; j < 12; j++)
{
buttonArr[i][j] = new javax.swing.JButton();
buttonArr[i][j].setText("" + i + "," + j );
buttonArr[i][j].setBounds(j*CellSize, i*CellSize + 50, CellSize, CellSize);
buttonArr[i][j].addActionListener(new Java.awt.event.ActionListener()
{
//Seat Button Event
public void actionPerformed(java.awt.event.ActionEvent evt)
{
JButton but = (JButton)evt.getSource();
but.setBackground(Color.yellow);
}
}
);
Form.add(buttonArr[i][j]);
}
}
}
在把它变成一个函数之前,我在run()中写了它,它运行良好,但是在它移动之后:
public SeatsUI() {
initComponents();
ShowButtonsArray();
}
它刚刚停止工作。我运行该项目但由于某种原因它被卡住并永远加载项目。我在这做错了什么?感谢。
答案 0 :(得分:1)
当您调用ShowButtonsArray()时,然后从此方法中调用SeatsUI Form = new SeatsUI(),并在调用新的SeatsUI()时,在构造函数中调用ShowButtonsArray()。我认为它无法摆脱这种循环。