Привет, это моя конкретная проблема. Я попытался добавить одну кнопку на одну панель с циклом for.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");
Это как выглядят photo Кнопка Sledeće pitanje видна на этой панели программы, но это не должно быть. Это видно только в том случае, если я перемещаю указатель мыши через эту кнопку.
Не просто вставить код. Какие шаги вы предприняли, чтобы отладить это? Можете ли вы точно определить, какая часть вашего кода не работает, а затем просто разместить соответствующие фрагменты? –
У меня нет синтаксической ошибки, поэтому проблема логична, поэтому я считаю, что лучше всего отправлять все строки из моего кода. проблема в том, что я не вижу JButton в кадре. – GlacialMan
Тем не менее, лучше всего опубликовать только любой код, который, по вашему мнению, может иметь значение. Даже если вы не знаете, какой код важен, вы должны разбить свой код на разные блоки, а между блоками кода объяснить, для чего каждый из них. –