Я пытаюсь выяснить, как получить каждую кнопку, чтобы дать мне сообщение о том, сколько дней осталось на Рождество. кнопки сделаны в петле, поэтому сложная часть здесь для меня - открыть кнопки после их создания.Получение всех кнопок для работы из цикла
int days = 24;
int i = 1;
JButton b1 = new JButton();
JLabel l1 = new JLabel("welcome to this year advent calendar");
public Oblig6(){
this.add(l1);
this.setTitle("advent calender");
this.setLayout(new FlowLayout());
this.setSize(230, 440);
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for(i=1; i < 25;i++){
b1.setText("Hatch "+i);
this.add(b1);
b1.setVisible(true);
b1 = new JButton();
b1.addActionListener(this);
}
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getSource().equals(b1)){
JOptionPane.showMessageDialog(null, "it's only "+i+" days left for christmes");
}
}}
хранить кнопки в массиве, ссылаясь на этот массив позже. –
Вы не создаете кнопку 25 раз. Вы переименовываете одну и ту же кнопку 25 раз. Вы должны создать кнопки, сохранить их в массиве и дать им текст во время создания. – Aggressor
У вас есть некоторые фундаментальные недоразумения в том, как работают Java и Swing. Если это для класса, вы должны показать это своему учителю. Если вы пытаетесь самостоятельно учиться, вам следует сосредоточиться на работе с помощью дополнительных обучающих программ. – ControlAltDel