Ваша проблема с этой программой - с массивом JLabel[] info
info = new JLabel[COL];
Эта строка будет только инициализировать ваш массив JLabel, но не каждый JLabel.
, так что вы можете изменить свойdisplayInfo()
функция, как показано ниже, для индивидуальной инициализации JLabel.
public void displayInfo() {
for(int col=0;col<COL;col++) {
Font font1 = new Font(Font.SANS_SERIF,Font.PLAIN,10);
info[col] = new JLabel();
info[col].setFont(font1);
info[col].setText("Holder");
add(info[col]);
}
}
Существует также еще одна проблема с кодом в функции infoSect()
, когда вы добавляете сразу весь массив JLabel, записывая add(info[COL])
но вы не можете добавить весь массив, как этот, поэтому вы можете удалить эту строку, потому что вы уже добавляете каждый JLabel в другую функцию displayInfo()
в add(info[col])
.
Это может работать для того, что вы хотите сделать.