Get answer problem
Author |
Message |
spiderman
|
Posted: Tue Apr 24, 2007 2:58 pm Post subject: Get answer problem |
|
|
The problem I'm having is for the checkboxes i my quiz program! When you click a button and click get answer it will tell u if the answer is correct or wrong for all the questions except the question with the check boxes. Can someone tell me how I can get the word correct or wrong when a person clicks on a check box and then the get answer button. Also, if anyone knows, in the true and false questions I used radio buttons. After you click on one of the two radio buttons u cant get rid of the click like a check box. What do I type in my code to make sure if a person clicks on a true and flase button that if they click again their wont be any marker unless they click a third time. Knda of hard to explain I know!
Please help asap!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
public class Quiz extends JApplet
{
JTextField nameTextField; // Holds on to the text field for entering name
JLabel msgLabel; // Holds on to the output label
int event = 0; // event counter
JButton GetAnswer; //button for getting the answer
JRadioButton question1Button, // All the Radio button options
question2Button, question3Button, question4Button, question5Button, question6Button, question7Button, question8Button, question9Button, question10Button,
question11Button, question12Button;
int score = 0; //counts score
JLabel Score = new JLabel ("");
public void init ()
{
JPanel mainPanel = makeGUI ();
setContentPane (mainPanel);
} // init method
/**
* AnswerListener class.
**/
public class AnswerListener implements ActionListener
{
/**
* Calculate if the person got the right asnwer or not
**/
public void actionPerformed (ActionEvent e)
{
String name = nameTextField.getText ();
if (question1Button.isSelected ())
msgLabel.setText ("Correct ");
else if (question2Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question3Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question4Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question5Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question6Button.isSelected ())
msgLabel.setText ("Correct ");
else if (question7Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question8Button.isSelected ())
msgLabel.setText ("Correct ");
else if (question9Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question10Button.isSelected ())
msgLabel.setText ("Wrong ");
else if (question11Button.isSelected ())
msgLabel.setText ("Correct ");
else if (question12Button.isSelected ())
msgLabel.setText ("Wrong ");
}
}
public class Correct implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
score++;
}
}
public class False implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
score--;
}
}
/**
* Creates the main GUI layout in a JPanel.
*
* @return A new JPanel with the layout for the JApplet's GUI.
**/
public JPanel makeGUI ()
{
JPanel newPanel = new JPanel ();
// headingPanel components
JPanel headingPanel = new JPanel ();
JLabel heading = new JLabel ("Simpson's Quiz!");
heading.setFont (new Font ("SansSerif", Font.BOLD, 24));
// headingPanel layout
headingPanel.setLayout (new BoxLayout (headingPanel, BoxLayout.X_AXIS));
headingPanel.add (Box.createHorizontalGlue ());
headingPanel.add (heading);
headingPanel.add (Box.createHorizontalGlue ());
// namePanel components
JPanel namePanel = new JPanel ();
JLabel nameLabel = new JLabel ("Your Name: ");
nameLabel.setForeground (new Color (128, 0, 0));
nameTextField = new JTextField ();
nameTextField.setMaximumSize (new Dimension (75, 18));
nameTextField.setPreferredSize (new Dimension (75, 18));
nameTextField.setForeground (new Color (128, 0, 0));
// namePanel layout
namePanel.setLayout (new BoxLayout (namePanel, BoxLayout.X_AXIS));
namePanel.add (Box.createHorizontalGlue ());
namePanel.add (nameLabel);
namePanel.add (nameTextField);
namePanel.add (Box.createHorizontalGlue ());
// controlPanel components
JPanel controlPanel = new JPanel ();
// radioPanel components (nested panel)
JPanel radioPanel = new JPanel ();
ButtonGroup bg = new ButtonGroup ();
// msgPanel components
JPanel msgPanel = new JPanel ();
msgLabel = new JLabel ("...");
msgLabel.setBackground (Color.BLACK);
msgLabel.setForeground (Color.WHITE);
msgLabel.setOpaque (true);
msgLabel.setPreferredSize (new Dimension (150, 25));
msgLabel.setMaximumSize (new Dimension (150, 25));
msgLabel.setHorizontalAlignment (JLabel.CENTER);
heading.setFont (new Font ("SansSerif", Font.BOLD, 18));
// msgPanel Layout
msgPanel.setLayout (new BoxLayout (msgPanel, BoxLayout.X_AXIS));
msgPanel.add (Box.createHorizontalGlue ());
msgPanel.add (msgLabel);
msgPanel.add (Box.createHorizontalGlue ());
// newPanel layout
newPanel.setLayout (new BoxLayout (newPanel, BoxLayout.Y_AXIS));
newPanel.setBorder (BorderFactory.createLineBorder (Color.BLACK));
newPanel.add (headingPanel);
newPanel.add (namePanel);
newPanel.add (controlPanel);
newPanel.add (msgPanel);
newPanel.add (Box.createVerticalGlue ());
newPanel.add (Box.createHorizontalGlue ());
JLabel question1Label = new JLabel ("Is Lisa in the second grade");
newPanel.add (Box.createHorizontalGlue ());
newPanel.add (question1Label);
JPanel radioPanel1 = new JPanel ();
//Raido Button Anwsers
//Anwser 1
question1Button = new JRadioButton ("True");
question1Button.setForeground (new Color (128, 0, 0));
question1Button.addActionListener (new Correct ());
//Anwser 2
question2Button = new JRadioButton ("False");
question2Button.setForeground (new Color (128, 0, 0));
question2Button.addActionListener (new False ());
//Creates button group
ButtonGroup bg1 = new ButtonGroup ();
bg.add (question1Button);
bg.add (question2Button);
// Border for True/false question layout
radioPanel.setLayout (new BoxLayout (radioPanel, BoxLayout.Y_AXIS));
radioPanel.setBorder (BorderFactory.createLineBorder (Color.BLACK));
radioPanel.add (question1Button);
radioPanel.add (question2Button);
newPanel.add (radioPanel);
//Question 2
newPanel.add (Box.createHorizontalGlue ());
JLabel question2Label = new JLabel ("Check the name of the Simpsons cats");
newPanel.add (Box.createHorizontalGlue ());
newPanel.add (question2Label);
JPanel checkBoxPanel = new JPanel ();
//Anwser 1
JCheckBox CheckBox1 = new JCheckBox ("Snowball I");
checkBoxPanel.add (CheckBox1);
CheckBox1.addActionListener (new AnswerListener ());
//Anwser 2
JCheckBox CheckBox2 = new JCheckBox ("Snowball II");
checkBoxPanel.add (CheckBox2);
CheckBox2.addActionListener (new AnswerListener ());
//Anwser 3
JCheckBox CheckBox3 = new JCheckBox ("Snowball III");
checkBoxPanel.add (CheckBox3);
CheckBox3.addActionListener (new AnswerListener ());
//Anwser 4
JCheckBox CheckBox4 = new JCheckBox ("Snowball lV");
checkBoxPanel.add (CheckBox4);
CheckBox4.addActionListener (new AnswerListener ());
//Anwser 5
JCheckBox CheckBox5 = new JCheckBox ("Snowball V");
checkBoxPanel.add (CheckBox5);
CheckBox5.addActionListener (new AnswerListener ());
//Anwser 6
JCheckBox CheckBox6 = new JCheckBox ("Coltrane");
checkBoxPanel.add (CheckBox6);
CheckBox6.addActionListener (new AnswerListener ());
//Anwser 7
JCheckBox CheckBox7 = new JCheckBox ("Snuffles");
checkBoxPanel.add (CheckBox7);
CheckBox7.addActionListener (new AnswerListener ());
//Checkbox Border
checkBoxPanel.setLayout (new BoxLayout (checkBoxPanel, BoxLayout.Y_AXIS));
checkBoxPanel.setBorder (BorderFactory.createLineBorder (Color.BLACK));
newPanel.add (checkBoxPanel);
//Question 3
newPanel.add (Box.createHorizontalGlue ());
JLabel question3Label = new JLabel ("When was the Simpsons first aired?");
newPanel.add (Box.createHorizontalGlue ());
newPanel.add (question3Label);
JPanel radioPanel2 = new JPanel ();
// Anwser 1
question3Button = new JRadioButton ("1984");
question3Button.setForeground (new Color (128, 0, 0));
question3Button.addActionListener (new False ());
// Anwser 2
question4Button = new JRadioButton ("1972");
question4Button.setForeground (new Color (128, 0, 0));
question4Button.addActionListener (new False ());
// Anwser 3
question5Button = new JRadioButton ("1979");
question5Button.setForeground (new Color (128, 0, 0));
question5Button.addActionListener (new False ());
// Anwser 4
question6Button = new JRadioButton ("1989");
question6Button.setForeground (new Color (128, 0, 0));
question6Button.addActionListener (new Correct ());
//Button Group 2
ButtonGroup bg2 = new ButtonGroup ();
bg2.add (question3Button);
bg2.add (question4Button);
bg2.add (question5Button);
bg2.add (question6Button);
// radioPanel layout
radioPanel2.setLayout (new BoxLayout (radioPanel2, BoxLayout.Y_AXIS));
radioPanel2.setBorder (BorderFactory.createLineBorder (Color.BLACK));
radioPanel2.add (question3Button);
radioPanel2.add (question4Button);
radioPanel2.add (question5Button);
radioPanel2.add (question6Button);
newPanel.add (radioPanel2);
//Question 4
newPanel.add (Box.createHorizontalGlue ());
JLabel question4Label = new JLabel ("Where were the shorts of the Simpsons first shown?");
newPanel.add (Box.createHorizontalGlue ());
newPanel.add (question4Label);
JPanel radioPanel3 = new JPanel ();
// Anwser 1
question7Button = new JRadioButton ("CNN entertainment Chanel");
question7Button.setForeground (new Color (128, 0, 0));
question7Button.addActionListener (new False ());
// Anwser 2
question8Button = new JRadioButton ("The Tracy Ulman Show");
question8Button.setForeground (new Color (128, 0, 0));
question8Button.addActionListener (new Correct ());
// Anwser 3
question9Button = new JRadioButton ("Saturday Night Live");
question9Button.setForeground (new Color (128, 0, 0));
question9Button.addActionListener (new False ());
// Anwser 4
question10Button = new JRadioButton ("Late Show with David Letterman");
question10Button.setForeground (new Color (128, 0, 0));
question10Button.addActionListener (new False ());
//Button Group 2
ButtonGroup bg3 = new ButtonGroup ();
bg3.add (question7Button);
bg3.add (question8Button);
bg3.add (question9Button);
bg3.add (question10Button);
// radioPanel layout
radioPanel3.setLayout (new BoxLayout (radioPanel3, BoxLayout.Y_AXIS));
radioPanel3.setBorder (BorderFactory.createLineBorder (Color.BLACK));
radioPanel3.add (question7Button);
radioPanel3.add (question8Button);
radioPanel3.add (question9Button);
radioPanel3.add (question10Button);
newPanel.add (radioPanel3);
newPanel.add (Box.createHorizontalGlue ());
JLabel question5Label = new JLabel ("The Simpsons have had 17 seasons so far.");
//Anwser 1
newPanel.add (Box.createHorizontalGlue ());
newPanel.add (question5Label);
JPanel radioPanel4 = new JPanel ();
question11Button = new JRadioButton ("True");
question11Button.setForeground (new Color (128, 0, 0));
question11Button.addActionListener (new Correct ());
//Anwser 2
question12Button = new JRadioButton ("False");
question12Button.setForeground (new Color (128, 0, 0));
question12Button.addActionListener (new False ());
//Creates button group
ButtonGroup bg5 = new ButtonGroup ();
bg5.add (question11Button);
bg5.add (question12Button);
radioPanel4.setLayout (new BoxLayout (radioPanel4, BoxLayout.Y_AXIS));
radioPanel4.setBorder (BorderFactory.createLineBorder (Color.BLACK));
radioPanel4.add (question11Button);
radioPanel4.add (question12Button);
newPanel.add (radioPanel4);
// return the panel
JButton GetAnswer = new JButton ("Get Answer!");
newPanel.add (GetAnswer);
GetAnswer.addActionListener (new AnswerListener ());
newPanel.add (Score);
return newPanel;
}
} // GUIClassTemplate class |
|
|
|
|
|
Sponsor Sponsor
|
|
|
|
|