0

Some one please help me with this to display the score. I am new to programming. I want to make the score display in the message box. my problem is the scr variable do not get incremented.

package QuizPackage;

import javax.swing.*;
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class QuizPackage extends JFrame implements ActionListener,ItemListener
{

    JFrame framea;
    JLabel strt,head,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10;
    JRadioButton rd1,rd2,rd3,rd4, rd5,rd6,rd7,rd8, rd9,rd10,rd11,rd12,rd13,rd14,rd15,rd16,rd17,rd18,rd19,rd20;
    ButtonGroup a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
    JButton start,next,submit;

    public void go()
    {
        JFrame framea=new JFrame();
        JButton start=new JButton("Start");
        JLabel strt=new JLabel("QUIZ APPLICATION");
        start.addActionListener(this);
        framea.setLayout(null);
        framea.setSize(1500, 1200);
        framea.setVisible(true);
        framea.add(start);
        start.setBounds(550, 500, 90, 40);
        framea.add(strt);
        strt.setBounds(550,200, 150, 100);
    }

    public void actionPerformed(ActionEvent ev) {
        // TODO Auto-generated method stub
        int scr=0;
        if(ev.getSource()==rd2)
        {
            scr=scr+1;

        }
        String str=(String)ev.getActionCommand();
        if(str.equals("Start"))
        {
            JFrame framea=new JFrame();

            JLabel head=new JLabel("QUIZ APPLICATION");
            JLabel q1=new JLabel("1.Which feature in oop allow reuse?");
            q1.setAlignmentX((float)1);
            JRadioButton rd1=new JRadioButton("Polymorphism");
            JRadioButton rd2=new JRadioButton("Inheritance");
            JRadioButton rd3=new JRadioButton("Encapsulation");
            JRadioButton rd4=new JRadioButton("Data Hiding");
            rd2.addItemListener(new QuizPackage());
            ButtonGroup a1=new ButtonGroup();
            a1.add(rd1);
            a1.add(rd2);
            a1.add(rd3);
            a1.add(rd4);

            JLabel q2=new JLabel("2.Function that changes the state of cout object ?");
            q1.setAlignmentX((float)1);
            JRadioButton rd5=new JRadioButton("Member");
            JRadioButton rd6=new JRadioButton("Adjuster");
            JRadioButton rd7=new JRadioButton("Manipulator");
            JRadioButton rd8=new JRadioButton("Operator");
            ButtonGroup a2=new ButtonGroup();
            a2.add(rd5);
            a2.add(rd6);
            a2.add(rd7);
            a2.add(rd8);

            JLabel q3=new JLabel("3.What does c++ append at the end of string?");
            q1.setAlignmentX((float)1);
            JRadioButton rd9=new JRadioButton("Space");
            JRadioButton rd10=new JRadioButton("Number sign");
            JRadioButton rd11=new JRadioButton("Asterisk");
            JRadioButton rd12=new JRadioButton("Null Character");
            ButtonGroup a3=new ButtonGroup();
            a3.add(rd9);
            a3.add(rd10);
            a3.add(rd11);
            a3.add(rd12);

            JLabel q4=new JLabel("4.An array element is accessed using?");
            q1.setAlignmentX((float)1);
            JRadioButton rd13=new JRadioButton("Brackets");
            JRadioButton rd14=new JRadioButton("Dot Operator");
            JRadioButton rd15=new JRadioButton("Member Name");
            JRadioButton rd16=new JRadioButton("Index Number");
            ButtonGroup a4=new ButtonGroup();
            a4.add(rd13);
            a4.add(rd14);
            a4.add(rd15);
            a4.add(rd16);

            JLabel q5=new JLabel("5.External Documentation includes?");
            q5.setAlignmentX((float)1);
            JRadioButton rd17=new JRadioButton("Print out");
            JRadioButton rd18=new JRadioButton("Flow chart");
            JRadioButton rd19=new JRadioButton("Pseudocode");
            JRadioButton rd20=new JRadioButton("Coding");
            ButtonGroup a5=new ButtonGroup();
            a5.add(rd17);
            a5.add(rd18);
            a5.add(rd19);
            a5.add(rd20);
            JButton next=new JButton("next");
            next.addActionListener(this);

            framea.setLayout(null);
            framea.setSize(1500, 1200);
            framea.add(head);
            head.setBounds(550, 5, 150, 100);
            framea.add(q1);
            q1.setBounds(30,60, 250, 70);
            framea.add(rd1);
            rd1.setBounds(35, 110, 120, 20);
            framea.add(rd2);
            rd2.setBounds(160, 110, 120, 20);
            framea.add(rd3);
            rd3.setBounds(285, 110, 120, 20);
            framea.add(rd4);
            rd4.setBounds(410, 110, 120, 20);
            framea.add(q2);
            q2.setBounds(30, 150, 300, 20);
            framea.add(rd5);
            rd5.setBounds(35, 180, 120, 20);
            framea.add(rd6);
            rd6.setBounds(160, 180, 120, 20);
            framea.add(rd7);
            rd7.setBounds(285, 180, 120, 20);
            framea.add(rd8);
            rd8.setBounds(410, 180, 120, 20);
            framea.add(q3);
            q3.setBounds(30, 220, 300, 20);
            framea.add(rd9);
            rd9.setBounds(35, 250, 120, 20);
            framea.add(rd10);
            rd10.setBounds(160, 250, 120, 20);
            framea.add(rd11);
            rd11.setBounds(285, 250, 120, 20);
            framea.add(rd12);
            rd12.setBounds(410, 250, 120, 20);
            framea.add(q4);
            q4.setBounds(30, 290, 300, 20);
            framea.add(rd13);
            rd13.setBounds(35, 320, 120, 20);
            framea.add(rd14);
            rd14.setBounds(160, 320, 120, 20);
            framea.add(rd15);
            rd15.setBounds(285, 320, 120, 20);
            framea.add(rd16);
            rd16.setBounds(410, 320, 120, 20);
            framea.add(q5);
            q5.setBounds(30, 360, 300, 20);
            framea.add(rd17);
            rd17.setBounds(35, 390, 120, 20);
            framea.add(rd18);
            rd18.setBounds(160, 390, 120, 20);
            framea.add(rd19);
            rd19.setBounds(285, 390, 120, 20);
            framea.add(rd20);
            rd20.setBounds(410, 390, 120, 20);
            framea.add(next);
            next.setBounds(550, 500, 90, 40);
            framea.setVisible(true);
        }
        else if(str.equals("next"))
           {   

           JFrame framea=new JFrame();
           framea.setLayout(null);
           framea.setSize(1500, 1200);
           framea.setVisible(true);

           JLabel q6=new JLabel("6.Null character needs a space of?");
           q6.setAlignmentX((float)1);
           JRadioButton rd21=new JRadioButton("Zero Byte");
           JRadioButton rd22=new JRadioButton("One Byte");
           JRadioButton rd23=new JRadioButton("Three Bytes");
           JRadioButton rd24=new JRadioButton("Four Bytes");
           ButtonGroup a6=new ButtonGroup();
           a6.add(rd21);
           a6.add(rd22);
           a6.add(rd23);
           a6.add(rd24);
           JLabel q7=new JLabel("7.Format flags may be combined using ?");
           q7.setAlignmentX((float)1);
           JRadioButton rd25=new JRadioButton("Bitwise OR (|)");
           JRadioButton rd26=new JRadioButton("lOGICAL OR (||)");
           JRadioButton rd27=new JRadioButton("Bitwise AND (&)");
           JRadioButton rd28=new JRadioButton("LOGICAL AND (&&)");
           ButtonGroup a7=new ButtonGroup();
           a7.add(rd25);
           a7.add(rd26);
           a7.add(rd27);
           a7.add(rd28);

           JLabel q8=new JLabel("8.Elements in array are identified by?");
           q8.setAlignmentX((float)1);
           JRadioButton rd29=new JRadioButton("Data type");
           JRadioButton rd30=new JRadioButton("Order");
           JRadioButton rd31=new JRadioButton("Subscript");
           JRadioButton rd32=new JRadioButton("Symbol");
           ButtonGroup a8=new ButtonGroup();
           a8.add(rd29);
           a8.add(rd30);
           a8.add(rd31);
           a8.add(rd32);

           JLabel q9=new JLabel("9.Body of c++ function is surrounder by?");
           q9.setAlignmentX((float)1);
           JRadioButton rd33=new JRadioButton("Parenthesis");
           JRadioButton rd34=new JRadioButton("Angle Brackets");
           JRadioButton rd35=new JRadioButton("Curly Brackets");
           JRadioButton rd36=new JRadioButton("Square Brackets");
           ButtonGroup a9=new ButtonGroup();
           a9.add(rd33);
           a9.add(rd34);
           a9.add(rd35);
           a9.add(rd36);

           JLabel q10=new JLabel("10.The loosest type of coupling?");
           q10.setAlignmentX((float)1);
           JRadioButton rd37=new JRadioButton("Data");
           JRadioButton rd38=new JRadioButton("Control");
           JRadioButton rd39=new JRadioButton("External");
           JRadioButton rd40=new JRadioButton("Pathological");
           ButtonGroup a10=new ButtonGroup();
           a10.add(rd37);
           a10.add(rd38);
           a10.add(rd39);
           a10.add(rd40);
           JButton submit=new JButton("submit");
           submit.addActionListener(this);
           framea.add(q6);
           q6.setBounds(30,60, 250, 70);
           framea.add(rd21);
           rd21.setBounds(35, 110, 120, 20);
           framea.add(rd22);
           rd22.setBounds(160, 110, 120, 20);
           framea.add(rd23);
           rd23.setBounds(285, 110, 120, 20);
           framea.add(rd24);
           rd24.setBounds(410, 110, 120, 20);
           framea.add(q7);
           q7.setBounds(30, 150, 300, 20);
           framea.add(rd25);
           rd25.setBounds(35, 180, 120, 20);
           framea.add(rd26);
           rd26.setBounds(160, 180, 120, 20);
           framea.add(rd27);
           rd27.setBounds(285, 180, 120, 20);
           framea.add(rd28);
           rd28.setBounds(410, 180, 120, 20);
           framea.add(q8);
           q8.setBounds(30, 220, 300, 20);
           framea.add(rd29);
           rd29.setBounds(35, 250, 120, 20);
           framea.add(rd30);
           rd30.setBounds(160, 250, 120, 20);
           framea.add(rd31);
           rd31.setBounds(285, 250, 120, 20);
           framea.add(rd32);
           rd32.setBounds(410, 250, 120, 20);
           framea.add(q9);
           q9.setBounds(30, 290, 300, 20);
           framea.add(rd33);
           rd33.setBounds(35, 320, 120, 20);
           framea.add(rd34);
           rd34.setBounds(160, 320, 120, 20);
           framea.add(rd35);
           rd35.setBounds(285, 320, 120, 20);
           framea.add(rd36);
           rd36.setBounds(410, 320, 120, 20);
           framea.add(q10);
           q10.setBounds(30, 360, 300, 20);
           framea.add(rd37);
           rd37.setBounds(35, 390, 120, 20);
           framea.add(rd38);
           rd38.setBounds(160, 390, 120, 20);
           framea.add(rd39);
           rd39.setBounds(285, 390, 120, 20);
           framea.add(rd40);
           rd40.setBounds(410, 390, 120, 20);
           framea.add(submit);
           submit.setBounds(550, 500, 90, 40);
           }
          else if(str.equals("submit"))
          {
        System.out.println(scr);e

I want the code to be displayed in this msg dialog boc

JOptionPane.showMessageDialog(QuizPackage.this,"Score ="+scr,ev.getActionCommand(),scr);
}
}
public static void main(String args[])
{
    QuizPackage ob1=new QuizPackage();
    ob1.go();

}

public void itemStateChanged(ItemEvent e) {
}
}
DINESH KUMAR
  • 121
  • 1
  • 1
  • 12
  • Could you try simplifying the problem? That's an awful lot of code to dig through to figure out what your issue really is. – David May 07 '14 at 13:29
  • 2
    Instead of creating `JradioButton rd1, rd2, ... d15` I would have created a `List` filled in a for loop. Then, you can iterate on the collection to count the selected radios buttons. – Arnaud Denoyelle May 07 '14 at 13:49
  • @ArnaudDenoyelle is correct. You want to build an array or list for your radio buttons, the data structure makes it much easier to manipulate – Marshall Tigerus May 07 '14 at 13:51
  • 2
    Your code is missing a QuizPackage class. Your code does not even compile, much less run. Your code is one huge procedural mess, with no Swing layouts. You have no data model. You do not separate concerns. You do not pass Go, nor collect $200, – Gilbert Le Blanc May 07 '14 at 14:04

0 Answers0