JButton не распознает, выбран ли JRadioButton

Этот JButton проверяет, выбрана ли часть JRadioButton. Поэтому, если JRadionButtons из списка ниже выбран, диалоговое окно сообщения будет печатать сообщение с правильным ответом, иначе оно должно напечатать неправильный ответ.

У меня 40 JRadioButton, 10 групп кнопок, 4 JRadioButton отображаются на экране в то время.

Я заметил, что этот JButton (btn2) помнит, что сначала проверяет, поэтому, если я нажму неправильный JRadioButton, а затем я нажму на этот btn2, он покажет мне диалоговое окно с сообщением «это неправильный ответ» - это правильно, затем, если я продолжу выбирать неправильный JRadioButton, он будет продолжать показывать, что это неправильный ответ - это правильно, но если я выберу правильный JRadioButton, он покажет мне диалоговое окно с сообщением «это правильный ответ» - это правильно, но оно будет продолжаться, если я сейчас выберу неправильный JRadioButton

        btn2.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            tim.stop();
            btn1.setEnabled(true);

            //Ne radi kako treba ne pravi razliku da li su   selektovani ili nisu
            //ne znam u čemu je problem
            if(nizRButtona[1].isSelected()
                    ||nizRButtona[5].isSelected()
                    ||nizRButtona[11].isSelected()
                    ||nizRButtona[13].isSelected()
                    ||nizRButtona[16].isSelected()
                    ||nizRButtona[23].isSelected()
                    ||nizRButtona[27].isSelected()
                    ||nizRButtona[29].isSelected()
                    ||nizRButtona[32].isSelected()){
                s+=10;
                JOptionPane.showMessageDialog(null, "To je tačan odgovor"); //This is correct answer
            }else if(nizRButtona[36].isSelected()){
                s+=10;
                JOptionPane.showMessageDialog(null, "To je tačan odgovor osvoji ste ukupno "+s+" poena"); // This is correct answer you won s points.
                btn1.setText("Započni opet igru");
            }else if(nizRButtona[33].isSelected()
                    ||nizRButtona[34].isSelected()
                    ||nizRButtona[35].isSelected()){
        JOptionPane.showMessageDialog(null, "To nije tačan odgovor osvoji ste ukupno "+s+" poena"); //This isn't correct answer you won s points
                btn1.setText("Započni opet igru");
            }else{                  
                JOptionPane.showMessageDialog(null, "To nije tačan odgovor"); //This isn't correct answer
            }

        }

    });

Весь код (будет удален)

   package Kviz;
   import javax.swing.*;
   import java.awt.*;
   import java.awt.event.*;

   public class Kviz {

private JFrame okvir;
private JPanel p1,p2,p3;
private JLabel [] nizLabela;
private JRadioButton [] nizRButtona;
private ButtonGroup[] nizGrupa;
private JPanel [] nizPanela;
private CardLayout cl;
private JLabel lb1,lb2;
private JButton btn1,btn2;
private Timer tim;
private int t,s;

public Kviz(){
    pripremiGUI();
}

private void pripremiGUI(){

    okvir=new JFrame();
    okvir.setSize(400, 400);
    okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    okvir.setLocationRelativeTo(null);
    okvir.setLayout(new BorderLayout());

    p1=new JPanel();
    p1.setLayout(new FlowLayout());

    lb1=new JLabel("Dobrodošli u kviz");

    cl=new CardLayout();

    p2=new JPanel();
    p2.setLayout(cl);

    nizPanela = new JPanel[10];

    //Niz panela na kome će se smenjivati pitanja i odgovori
    for(int i=0;i<nizPanela.length;i++){

        nizPanela[i] = new JPanel();
        p2.add(nizPanela[i], String.valueOf(i));
        nizPanela[i].setLayout(new GridLayout(0,1));

    }

    //Niz odgovora

    nizRButtona = new JRadioButton[40];

    for(int i=0;i<nizRButtona.length;i++){
        nizRButtona[i] = new JRadioButton();

        switch(i){
            case 0:nizRButtona[i].setText("Mesopotamiji");
                break;
            case 1:nizRButtona[i].setText("Grčkoj");
                break;
            case 2:nizRButtona[i].setText("Kini");
                break;
            case 3:nizRButtona[i].setText("Egiptu");
                break;
            case 4:nizRButtona[i].setText("Kinšasa");
                break;
            case 5:nizRButtona[i].setText("Lagos");
                break;
            case 6:nizRButtona[i].setText("Ulan Bator");
                break;
            case 7:nizRButtona[i].setText("Abu Dabi");
                break;
            case 8:nizRButtona[i].setText("Velikoj Britaniji");
                break;
            case 9:nizRButtona[i].setText("Norveškoj");
                break;
            case 10:nizRButtona[i].setText("SAD");
                break;
            case 11:nizRButtona[i].setText("Danskoj");
                break;
            case 12:nizRButtona[i].setText("Step mom");
                break;
            case 13:nizRButtona[i].setText("Runaway Bride");
                break;
            case 14:nizRButtona[i].setText("Grease");
                break;
            case 15:nizRButtona[i].setText("Nothing Hill");
                break;
            case 16:nizRButtona[i].setText("Neil Armstrong");
                break;
            case 17:nizRButtona[i].setText("John Lenon");
                break;
            case 18:nizRButtona[i].setText("Martin Luter King");
                break;
            case 19:nizRButtona[i].setText("Winston Churchill");
                break;
            case 20:nizRButtona[i].setText("Meka");
                break;
            case 21:nizRButtona[i].setText("Medina");
                break;
            case 22:nizRButtona[i].setText("Dubai");
                break;
            case 23:nizRButtona[i].setText("Rijad");
                break;
            case 24:nizRButtona[i].setText("Španije");
                break;
            case 25:nizRButtona[i].setText("Venecije");
                break;
            case 26:nizRButtona[i].setText("Portugala");
                break;
            case 27:nizRButtona[i].setText("Đenove");
                break;
            case 28:nizRButtona[i].setText("Holokaust");
                break;
            case 29:nizRButtona[i].setText("Perl Harbour");
                break;
            case 30:nizRButtona[i].setText("Napad na Francusku");
                break;
            case 31:nizRButtona[i].setText("Blitzkrieg na Poljsku");
                break;
            case 32:nizRButtona[i].setText("Bon");
                break;
            case 33:nizRButtona[i].setText("Minhen");
                break;
            case 34:nizRButtona[i].setText("Lajpcig");
                break;
            case 35:nizRButtona[i].setText("Hamburg");
                break;
            case 36:nizRButtona[i].setText("Čile");
                break;
            case 37:nizRButtona[i].setText("Istočni Timor");
                break;
            case 38:nizRButtona[i].setText("Portugal");
                break;
            case 39:nizRButtona[i].setText("Brazil");
                break;

        }
    }

    //Niz button grupa i dodavanje komponenti u njega
    nizGrupa=new ButtonGroup[10];

    int j=0;
    for(int i=0;i<nizGrupa.length;i++){

    nizGrupa[i] = new ButtonGroup();

    nizGrupa[i].add(nizRButtona[j]);
    nizGrupa[i].add(nizRButtona[j+1]);
    nizGrupa[i].add(nizRButtona[j+2]);
    nizGrupa[i].add(nizRButtona[j+3]);

    j+=4;
    }

    //Niz pitanja
    nizLabela = new JLabel[10];

    for(int i=0;i<nizLabela.length;i++){
        nizLabela[i] = new JLabel();
        switch(i){
            case 0:nizLabela[i].setText("U kojoj zemlji su rođene Olimpijske igre");
                break;
            case 1:nizLabela[i].setText("Koji je glavni grad Nigerije");
                break;
            case 2:nizLabela[i].setText("Kojoj državi pripada Grenland");
                break;
            case 3:nizLabela[i].setText("Osim filma \"Pretty Women\" u kojem filmu zajedno glume Julia Roberts i Richard Gere");
                break;
            case 4:nizLabela[i].setText("Kako se zove prvi čovek koji je sleteo na mesec");
                break;
            case 5:nizLabela[i].setText("Glavni grad Saudijske Arabije");
                break;
            case 6:nizLabela[i].setText("Kristofer Kolumob je iz");
                break;
            case 7:nizLabela[i].setText("Koji događaj je naveo SAD da se uključe u rat");
                break;
            case 8:nizLabela[i].setText("Koji je grad bio glavni pri ujedinjenju Nemačke");
                break;
            case 9:nizLabela[i].setText("U kojoj zemlji je bio na vlasti diktator Salazar");
                break;
        }
    }

    p3=new JPanel();
    p3.setLayout(new FlowLayout());

    //Menja panele sa pitanjima i odgovorima
    btn1=new JButton("Sledeće pitanje");
    btn1.setEnabled(false);
    btn1.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            cl.next(p2);
            btn1.setEnabled(false);
            btn2.setEnabled(true);
            t=10;
            lb2.setText(String.valueOf(t));
            tim.start();
            btn1.setText("Sledeće pitanje");
        }
    });

    //Proverava da li su odgovori tačni
    btn2=new JButton("Odgovori");
    btn2.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            tim.stop();
            btn1.setEnabled(true);

            //
            //
            if(nizRButtona[1].isSelected()
                    ||nizRButtona[5].isSelected()
                    ||nizRButtona[11].isSelected()
                    ||nizRButtona[13].isSelected()
                    ||nizRButtona[16].isSelected()
                    ||nizRButtona[23].isSelected()
                    ||nizRButtona[27].isSelected()
                    ||nizRButtona[29].isSelected()
                    ||nizRButtona[32].isSelected()){
                s+=10;
                JOptionPane.showMessageDialog(null, "To je tačan odgovor");
            }else if(nizRButtona[36].isSelected()){
                s+=10;
                JOptionPane.showMessageDialog(null, "To je tačan odgovor osvoji ste ukupno "+s+" poena");
                btn1.setText("Započni opet igru");
            }else if(nizRButtona[33].isSelected()
                    ||nizRButtona[34].isSelected()
                    ||nizRButtona[35].isSelected()){
                JOptionPane.showMessageDialog(null, "To nije tačan odgovor osvoji ste ukupno "+s+" poena");
                btn1.setText("Započni opet igru");
            }else{
                JOptionPane.showMessageDialog(null, "To nije tačan odgovor");
            }

        }

    });

    t=10;

    //Tajmer
    lb2=new JLabel("10");
    tim=new Timer(1000,new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            if(t>0){
            t--;
            lb2.setText(String.valueOf(t));
            }else{
                tim.stop();
                JOptionPane.showMessageDialog(null, "Vreme je isteklo");
                btn2.setEnabled(false); 
                btn1.setEnabled(true);
            }
        }
    });
}

private void pokreniGUI(){
    p1.add(lb1);

    p3.add(btn1);
    p3.add(btn2);
    p3.add(lb2);

    int q=0;
    for(int w=0;w<10;w++){

    nizGrupa[w] = new ButtonGroup();

    nizPanela[w].add(nizLabela[w]);
    nizPanela[w].add(nizRButtona[q]);
    nizPanela[w].add(nizRButtona[q+1]);
    nizPanela[w].add(nizRButtona[q+2]);
    nizPanela[w].add(nizRButtona[q+3]);

    q+=4;
    }

    okvir.add(p1,BorderLayout.NORTH);
    okvir.add(p2,BorderLayout.CENTER);
    okvir.add(p3,BorderLayout.SOUTH);

    cl.show(p2, "0");

    tim.start();
    okvir.setVisible(true);
}

public static void main(String[] args) {
    Kviz pokreni=new Kviz();
    pokreni.pokreniGUI();

}

   }

person GlacialMan    schedule 31.03.2016    source источник
comment
Вы можете перевести то, что говорится в сообщениях? Или укажите, какие варианты правильные, а какие неправильные?   -  person Frakcool    schedule 31.03.2016
comment
И вы можете сделать свой код меньше и предоставить пример выполнения вместо фрагментов кода.   -  person Frakcool    schedule 31.03.2016
comment
Вам не нужен весь код, я говорю, в чем проблема. В первый раз, когда я выберу правильный ответ, все остальные ответы будут правильными (в диалоговом окне сообщения будет указано, что это правильный ответ). Итак, если я на первый вопрос выберу правильный ответ, все остальные будут правильными. Если я выберу неправильный ответ в первых многих вопросах, он покажет неправильный ответ, но когда я снова выберу правильный, для всех остальных ответов он будет отображаться как правильный   -  person GlacialMan    schedule 31.03.2016
comment
это мое логическое нормально? когда я пишу это, я думаю, что если (выбран какой-то из JRadioButton) показать окно сообщения Правильный ответ иначе, если (выбран последний правильный JRadioButton) показать окно сообщения Правильный ответ + сколько очков я выиграл иначе, если (последние 3 неверных JRadioButton выбран) показать окно сообщения Неверный ответ + сколько очков я выиграл еще (выбраны все остальные JRadioButton) показать окно сообщения Неверный ответ   -  person GlacialMan    schedule 31.03.2016
comment
Хорошо, после этого я смогу немного больше понять вашу логику, позвольте мне посмотреть, что может быть не так ...   -  person Frakcool    schedule 31.03.2016
comment
Я добавляю весь код, вы можете это увидеть   -  person GlacialMan    schedule 31.03.2016
comment
пожалуйста, посмотрите ответ ниже и не удаляйте свой код. StackOverflow - это сайт, на котором люди должны извлечь выгоду из вашего вопроса и наших ответов. Если у них есть аналогичная проблема, они могут знать, почему и как ее решить. Не только вы должны извлечь выгоду из ответа (ов). Пожалуйста, пройдите тур   -  person Frakcool    schedule 31.03.2016
comment
хорошо, я не буду удалять, но у меня проблема с моим последним вопросом, какой-то парень сказал, что мой код слишком длинный, в нем всего 100 строк   -  person GlacialMan    schedule 31.03.2016
comment
Да, поэтому вам следует предоставить пример выполнения, также называемый M inimal C полный и V erifiable E xample (MCVE), это не ваш ВЕСЬ рабочий код, а меньший, содержащий все, что нам нужно для его тестирования и компиляции, чтобы мы могли скопировать и вставить его и увидеть тот же результат, что и вы. Также учтите, что ваш MCVE должен быть на английском в качестве рекомендации, чтобы мы могли понять, о чем он говорит. Прочтите ссылку, которую я дал, и Как задать хороший вопрос   -  person Frakcool    schedule 31.03.2016


Ответы (1)


Как я думал, прежде чем вы разместили код, эта ошибка возникает из-за того, что у вас все ваши JRadioButtons в виде единого массива, и выбор все еще там, вам нужно очищать этот выбор каждый раз, когда вы заканчиваете его оценивать. В следующий раз попробуйте также использовать отладчик.

В вашем коде вам нужно изменить 2 вещи:

  1. Очистите каждый из выбранных вами групп следующим образом:

Это потому, что у вас есть глобальный массив JRadioButtons, вместо этого у вас должен быть меньший массив, который будет получать его текст из глобального массива String и обновляется каждый раз, когда вы переходите к следующему вопросу, поэтому вам нужно управлять только одним ButtonGroup вместо 10. Таким образом вы можете «легко» заставить вашу программу работать, но «лучший» способ исправить это - переделать всю вашу программу так, чтобы у вас был массив JRadioButton размера 4, один массив ButtonGroup и массив String. с текстом для каждого JRadioButton

//Your if-else codes are above here
else {
    JOptionPane.showMessageDialog(null, "To nije tačan odgovor");
}
for (int i = 0; i < 10; i++) {
    nizGrupa[i].clearSelection();
}
  1. Удалите эту строку nizGrupa[w] = new ButtonGroup(); из своего pokreniGUI метода

Поскольку вы инициализировали его раньше, поэтому вам не нужно делать это снова, если вы этого не сделаете, то сброс выбора выше не будет работать, потому что он будет ссылаться на ButtonGroup, который больше не существует.

Обновить с полным кодом:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Kviz {

private JFrame okvir;
private JPanel p1,p2,p3;
private JLabel [] nizLabela;
private JRadioButton [] nizRButtona;
private ButtonGroup[] nizGrupa;
private JPanel [] nizPanela;
private CardLayout cl;
private JLabel lb1,lb2;
private JButton btn1,btn2;
private Timer tim;
private int t,s;

public Kviz(){
    pripremiGUI();
}

private void pripremiGUI(){

    okvir=new JFrame();
    okvir.setSize(400, 400);
    okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    okvir.setLocationRelativeTo(null);
    okvir.setLayout(new BorderLayout());

    p1=new JPanel();
    p1.setLayout(new FlowLayout());

    lb1=new JLabel("Dobrodošli u kviz");

    cl=new CardLayout();

    p2=new JPanel();
    p2.setLayout(cl);

    nizPanela = new JPanel[10];

    //Niz panela na kome će se smenjivati pitanja i odgovori
    for(int i=0;i<nizPanela.length;i++){

        nizPanela[i] = new JPanel();
        p2.add(nizPanela[i], String.valueOf(i));
        nizPanela[i].setLayout(new GridLayout(0,1));

    }

    //Niz odgovora

    nizRButtona = new JRadioButton[40];

    for(int i=0;i<nizRButtona.length;i++){
        nizRButtona[i] = new JRadioButton();

        switch(i){
            case 0:nizRButtona[i].setText("Mesopotamiji");
                break;
            case 1:nizRButtona[i].setText("Grčkoj");
                break;
            case 2:nizRButtona[i].setText("Kini");
                break;
            case 3:nizRButtona[i].setText("Egiptu");
                break;
            case 4:nizRButtona[i].setText("Kinšasa");
                break;
            case 5:nizRButtona[i].setText("Lagos");
                break;
            case 6:nizRButtona[i].setText("Ulan Bator");
                break;
            case 7:nizRButtona[i].setText("Abu Dabi");
                break;
            case 8:nizRButtona[i].setText("Velikoj Britaniji");
                break;
            case 9:nizRButtona[i].setText("Norveškoj");
                break;
            case 10:nizRButtona[i].setText("SAD");
                break;
            case 11:nizRButtona[i].setText("Danskoj");
                break;
            case 12:nizRButtona[i].setText("Step mom");
                break;
            case 13:nizRButtona[i].setText("Runaway Bride");
                break;
            case 14:nizRButtona[i].setText("Grease");
                break;
            case 15:nizRButtona[i].setText("Nothing Hill");
                break;
            case 16:nizRButtona[i].setText("Neil Armstrong");
                break;
            case 17:nizRButtona[i].setText("John Lenon");
                break;
            case 18:nizRButtona[i].setText("Martin Luter King");
                break;
            case 19:nizRButtona[i].setText("Winston Churchill");
                break;
            case 20:nizRButtona[i].setText("Meka");
                break;
            case 21:nizRButtona[i].setText("Medina");
                break;
            case 22:nizRButtona[i].setText("Dubai");
                break;
            case 23:nizRButtona[i].setText("Rijad");
                break;
            case 24:nizRButtona[i].setText("Španije");
                break;
            case 25:nizRButtona[i].setText("Venecije");
                break;
            case 26:nizRButtona[i].setText("Portugala");
                break;
            case 27:nizRButtona[i].setText("Đenove");
                break;
            case 28:nizRButtona[i].setText("Holokaust");
                break;
            case 29:nizRButtona[i].setText("Perl Harbour");
                break;
            case 30:nizRButtona[i].setText("Napad na Francusku");
                break;
            case 31:nizRButtona[i].setText("Blitzkrieg na Poljsku");
                break;
            case 32:nizRButtona[i].setText("Bon");
                break;
            case 33:nizRButtona[i].setText("Minhen");
                break;
            case 34:nizRButtona[i].setText("Lajpcig");
                break;
            case 35:nizRButtona[i].setText("Hamburg");
                break;
            case 36:nizRButtona[i].setText("Čile");
                break;
            case 37:nizRButtona[i].setText("Istočni Timor");
                break;
            case 38:nizRButtona[i].setText("Portugal");
                break;
            case 39:nizRButtona[i].setText("Brazil");
                break;

        }
    }

    //Niz button grupa i dodavanje komponenti u njega
    nizGrupa=new ButtonGroup[10];

    int j=0;
    for(int i=0;i<nizGrupa.length;i++){

    nizGrupa[i] = new ButtonGroup();

    nizGrupa[i].add(nizRButtona[j]);
    nizGrupa[i].add(nizRButtona[j+1]);
    nizGrupa[i].add(nizRButtona[j+2]);
    nizGrupa[i].add(nizRButtona[j+3]);

    j+=4;
    }

    //Niz pitanja
    nizLabela = new JLabel[10];

    for(int i=0;i<nizLabela.length;i++){
        nizLabela[i] = new JLabel();
        switch(i){
            case 0:nizLabela[i].setText("U kojoj zemlji su rođene Olimpijske igre");
                break;
            case 1:nizLabela[i].setText("Koji je glavni grad Nigerije");
                break;
            case 2:nizLabela[i].setText("Kojoj državi pripada Grenland");
                break;
            case 3:nizLabela[i].setText("Osim filma \"Pretty Women\" u kojem filmu zajedno glume Julia Roberts i Richard Gere");
                break;
            case 4:nizLabela[i].setText("Kako se zove prvi čovek koji je sleteo na mesec");
                break;
            case 5:nizLabela[i].setText("Glavni grad Saudijske Arabije");
                break;
            case 6:nizLabela[i].setText("Kristofer Kolumob je iz");
                break;
            case 7:nizLabela[i].setText("Koji događaj je naveo SAD da se uključe u rat");
                break;
            case 8:nizLabela[i].setText("Koji je grad bio glavni pri ujedinjenju Nemačke");
                break;
            case 9:nizLabela[i].setText("U kojoj zemlji je bio na vlasti diktator Salazar");
                break;
        }
    }

    p3=new JPanel();
    p3.setLayout(new FlowLayout());

    //Menja panele sa pitanjima i odgovorima
    btn1=new JButton("Sledeće pitanje");
    btn1.setEnabled(false);
    btn1.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            cl.next(p2);
            btn1.setEnabled(false);
            btn2.setEnabled(true);
            t=10;
            lb2.setText(String.valueOf(t));
            tim.start();
            btn1.setText("Sledeće pitanje");
        }
    });

    //Proverava da li su odgovori tačni
    btn2=new JButton("Odgovori");
    btn2.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            tim.stop();
            btn1.setEnabled(true);

            if(nizRButtona[1].isSelected()
                ||nizRButtona[5].isSelected()
                ||nizRButtona[11].isSelected()
                ||nizRButtona[13].isSelected()
                ||nizRButtona[16].isSelected()
                ||nizRButtona[23].isSelected()
                ||nizRButtona[27].isSelected()
                ||nizRButtona[29].isSelected()
                ||nizRButtona[32].isSelected()){
                s+=10;
                JOptionPane.showMessageDialog(null, "Correct");
            } else if(nizRButtona[36].isSelected()){
                s+=10;
                JOptionPane.showMessageDialog(null, "Correct, points earned: " + s);
                btn1.setText("Započni opet igru");
            }else if(nizRButtona[33].isSelected()
                    ||nizRButtona[34].isSelected()
                    ||nizRButtona[35].isSelected()){
                JOptionPane.showMessageDialog(null, "Incorrect, points earned " + s);
                btn1.setText("Započni opet igru");
            }else{
                JOptionPane.showMessageDialog(null, "Incorrect");
            }
            for (int i = 0; i < 10; i++) {
                nizGrupa[i].clearSelection();
            }
        }

    });

    t=10;

    //Tajmer
    lb2=new JLabel("10");
    tim=new Timer(1000,new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            if(t>0){
            t--;
            lb2.setText(String.valueOf(t));
            }else{
                tim.stop();
                JOptionPane.showMessageDialog(null, "Vreme je isteklo");
                btn2.setEnabled(false); 
                btn1.setEnabled(true);
            }
        }
    });
}

private void pokreniGUI(){
    p1.add(lb1);

    p3.add(btn1);
    p3.add(btn2);
    p3.add(lb2);

    int q=0;
    for(int w=0;w<10;w++){

    //nizGrupa[w] = new ButtonGroup();

    nizPanela[w].add(nizLabela[w]);
    nizPanela[w].add(nizRButtona[q]);
    nizPanela[w].add(nizRButtona[q+1]);
    nizPanela[w].add(nizRButtona[q+2]);
    nizPanela[w].add(nizRButtona[q+3]);

    q+=4;
    }

    okvir.add(p1,BorderLayout.NORTH);
    okvir.add(p2,BorderLayout.CENTER);
    okvir.add(p3,BorderLayout.SOUTH);

    cl.show(p2, "0");

    tim.start();
    okvir.setVisible(true);
}

public static void main(String[] args) {
    Kviz pokreni=new Kviz();
    pokreni.pokreniGUI();

}
}
person Frakcool    schedule 31.03.2016
comment
если я удалю nizGrupa [w] = new ButtonGroup (); из метода pokreniGUI я не вижу его на панелях, но как проверить, отвечает ли правильно, если у меня только 4 радиобутона, мне нужно в 10 раз больше - person GlacialMan; 31.03.2016
comment
@GlacialMan Работает, смотрите обновление, возможно вы написали код не в том месте - person Frakcool; 31.03.2016
comment
Также вам нужно всего 4 радиокнопки (видимые) и использовать их повторно, когда придет следующий вопрос ... - person Frakcool; 31.03.2016
comment
да, это хорошо, но я не знаю, как проверить, правильный ли ответ, если у меня всего 4 кнопки, и как добавить все на 10 панелях? может мой первый вопрос можно решить с помощью getText - person GlacialMan; 31.03.2016
comment
если вы все еще хотите знать, как это сделать, доработайте свой код, заставьте его работать, переведите на английский и вставьте сюда (don не забудьте сначала прочитать, как этот сайт работает). Также, если ответ решил ваш вопрос, пожалуйста, примите его - person Frakcool; 31.03.2016