JButton находится на JPanel, на которой его не должно быть [закрыто]
Привет, это моя конкретная проблема. Я пытался добавить одну кнопку на одну панель с циклом.
Это для цикла для создания JButtons.
nizButtona=new JButton[22];
for(int i=0;i<nizButtona.length;i++){
nizButtona[i] = new JButton();
if(i==0){
nizButtona[i].setText("Započni kviz"); //Start quiz
nizButtona[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
cl.next(nizPanela[1]);
}
});
}else if(i==1){
nizButtona[i].setText("Izlaz"); //Quit
nizButtona[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
}else if(i<12){
nizButtona[i].setText("Sledeće pitanje"); //Next question, on next panel
nizButtona[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
cl.next(nizPanela[1]);
}
});
}
Это новый цикл для добавления кнопок на панели. Здесь nizButtona [i-1] - это i-1, потому что первая кнопка для следующего вопроса имеет 1 аргумент, чем JPanel, куда его нужно добавить, и вы GridBagLayout для всех компонентов, поэтому я буду размещать все в одном месте для каждой панели. Без этого проблема та же.
for(int i=3;i<=11;i++){
nizPanela[i].add(nizButtona[i-1]);
}
Вот как я создал массив для JPanels.
nizPanela = новый JPanel [13];
for (int i=0;i<nizPanela.length;i++ ){
nizPanela[i] = new JPanel();
if(i<=1){
okvir.getContentPane().add(nizPanela[i]);//Does i real need this getContentPane?
}else{
nizPanela[i].setLayout(new GridBagLayout());
nizPanela[1].add(nizPanela[i], String.valueOf(i));
}
}
cl=new CardLayout();
nizPanela[1].setLayout(cl);
cl.show(nizPanela[1],"2");
Вот так выглядит программаФото Кнопка Sledeće pitanje видна на этой панели, но это не должно быть. Это видно только если я перемещаю указатель мыши через место этой кнопки.