| Author |
Frame Attack!
|
Douglas McAuley
Greenhorn
Joined: Jul 21, 2003
Posts: 14
|
|
I am trying to create a quiz program but each time I move to the new question I create a brand new frame each time. Is there any way that I can destroy the previous frame without having to start all over again. Thanks..........code below. import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Quiz extends JFrame implements ItemListener,ActionListener { JRadioButton radio1, radio2, radio3, radio4; ButtonGroup group; Button b; JTextField text; JLabel jl; public void showGui() { Container contentPane = getContentPane(); contentPane.setLayout(new GridLayout(0,1)); jl = new JLabel("(1) Who played the guitar solo on Peg?"); contentPane.add(jl); group = new ButtonGroup(); radio1 = new JRadioButton("Dennis Dias."); radio2 = new JRadioButton("Walter Becker."); radio3 = new JRadioButton("Steve Gadd."); radio4 = new JRadioButton("Jeff Skunk Baxter"); group.add(radio1); group.add(radio2); group.add(radio3); group.add(radio4); radio1.addItemListener(this); radio2.addItemListener(this); radio3.addItemListener(this); radio4.addItemListener(this); contentPane.add(radio1); contentPane.add(radio2); contentPane.add(radio3); contentPane.add(radio4); text = new JTextField(15); contentPane.add(text); b = new Button("Question Two."); b.addActionListener(this); contentPane.add(b); setSize(350,300); setVisible(true); } public static void main(String args[]) { Quiz f = new Quiz(); f.showGui(); f.setDefaultCloseOperation(DISPOSE_ON_CLOSE); f.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { System.exit(0); } }); } public void actionPerformed(ActionEvent e) { if(e.getSource() == b) { Quiz2 f = new Quiz2(); f.showGui2(); } } public void itemStateChanged(ItemEvent e) { if (e.getItemSelectable() == radio1) { text.setText("Dennis Dias."); } else if (e.getItemSelectable() == radio2) { text.setText("Walter Becker."); } else if (e.getItemSelectable() == radio3) { text.setText("Steve Gadd."); } else if (e.getItemSelectable() == radio4) { text.setText("Jeff Skunk Baxter."); } } class Quiz2 extends JFrame implements ItemListener,ActionListener { public void showGui2() { Container contentPane = getContentPane(); contentPane.setLayout(new GridLayout(0,1)); jl = new JLabel("(2) Who was the song Chain lightning written about?"); contentPane.add(jl); group = new ButtonGroup(); radio1 = new JRadioButton("The Christians."); radio2 = new JRadioButton("The Klu Klux Klan."); radio3 = new JRadioButton("The Nazi Party."); radio4 = new JRadioButton("The Mormons."); group.add(radio1); group.add(radio2); group.add(radio3); group.add(radio4); radio1.addItemListener(this); radio2.addItemListener(this); radio3.addItemListener(this); radio4.addItemListener(this); contentPane.add(radio1); contentPane.add(radio2); contentPane.add(radio3); contentPane.add(radio4); text = new JTextField(15); contentPane.add(text); b = new Button("Question Three."); b.addActionListener(this); contentPane.add(b); setSize(350,300); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource() == b) { Quiz3 f = new Quiz3(); f.showGui3(); } } public void itemStateChanged(ItemEvent e) { if (e.getItemSelectable() == radio1) { text.setText("The Christians."); } else if (e.getItemSelectable() == radio2) { text.setText("The Klu Klux Klan."); } else if (e.getItemSelectable() == radio3) { text.setText("The Nazi Party."); } else if (e.getItemSelectable() == radio4) { text.setText("The Mormons."); } } } class Quiz3 extends JFrame implements ItemListener,ActionListener { public void showGui3() { Container contentPane = getContentPane(); contentPane.setLayout(new GridLayout(0,1)); jl = new JLabel("(3) What famous guitarist played on 'Time out of mind'?"); contentPane.add(jl); group = new ButtonGroup(); radio1 = new JRadioButton("Eric Clapton."); radio2 = new JRadioButton("BB King."); radio3 = new JRadioButton("George Benson."); radio4 = new JRadioButton("Mark Knopfler."); group.add(radio1); group.add(radio2); group.add(radio3); group.add(radio4); radio1.addItemListener(this); radio2.addItemListener(this); radio3.addItemListener(this); radio4.addItemListener(this); contentPane.add(radio1); contentPane.add(radio2); contentPane.add(radio3); contentPane.add(radio4); text = new JTextField(15); contentPane.add(text); b = new Button("Question Four."); b.addActionListener(this); contentPane.add(b); setSize(350,300); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource() == b) { Quiz4 f = new Quiz4(); f.showGui4(); } } public void itemStateChanged(ItemEvent e) { if (e.getItemSelectable() == radio1) { text.setText("Eric Clapton."); } else if (e.getItemSelectable() == radio2) { text.setText("BB King."); } else if (e.getItemSelectable() == radio3) { text.setText("George Benson."); } else if (e.getItemSelectable() == radio4) { text.setText("Mark Knopfler."); } } } class Quiz4 extends JFrame implements ItemListener//ActionListener { public void showGui4() { Container contentPane = getContentPane(); contentPane.setLayout(new GridLayout(0,1)); jl = new JLabel("(4) Who played the keyboard solo on 'Black Cow'?"); contentPane.add(jl); group = new ButtonGroup(); radio1 = new JRadioButton("Donald Fagen."); radio2 = new JRadioButton("Herbie Hancock."); radio3 = new JRadioButton("Victor Feldman."); radio4 = new JRadioButton("Tino Beggs."); group.add(radio1); group.add(radio2); group.add(radio3); group.add(radio4); radio1.addItemListener(this); radio2.addItemListener(this); radio3.addItemListener(this); radio4.addItemListener(this); contentPane.add(radio1); contentPane.add(radio2); contentPane.add(radio3); contentPane.add(radio4); text = new JTextField(15); contentPane.add(text); b = new Button("Question Five."); //b.addActionListener(this); contentPane.add(b); setSize(350,300); setVisible(true); } //public void actionPerformed(ActionEvent e) { //if(e.getSource() == b); //Quiz f = new Quiz(); //f.ShowGui4(); //} public void itemStateChanged(ItemEvent e) { if (e.getItemSelectable() == radio1) { text.setText("Donald Fagen."); } else if (e.getItemSelectable() == radio2) { text.setText("Herbie Hancock."); } else if (e.getItemSelectable() == radio3) { text.setText("Victor Feldman."); } else if (e.getItemSelectable() == radio4) { text.setText("Tino Beggs."); } } }}
|
 |
Randall Twede
Ranch Hand
Joined: Oct 21, 2000
Posts: 4089
|
|
i wrote a quiz once. i stored the questions and answers in a file. it is an applet that talks with a servlet, but the code might help you.
|
SCJP
|
 |
 |
|
|
subject: Frame Attack!
|
|
|