import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
public class GQ extends JFrame implements ActionListener {
private static final int FRAME_WIDTH = 140;
private static final int FRAME_HEIGHT = 160;
private static final int FRAME_X_ORIGIN = 70;
private static final int FRAME_Y_ORIGIN = 50;
// Instantiate your answer class here so you can access
// its fields in this class.
AnswerStore answerStore = new AnswerStore();
public static void main (String[] args) {
JOptionPane.showMessageDialog(jFrame, "This is a Geography Quiz");
JOptionPane.showMessageDialog(null, "Good Luck");
String passString = JOptionPane.showInputDialog("Enter the Password");
//Password = passString.nextInt();
int Password = Integer.parseInt(passString);
if (Password == 123) {
JOptionPane.showMessageDialog(null, "Valid. You typed the right password. " +
"Now choose from the following menu");
GQ frame = new GQ();
frame.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "Invalid Password. Try Again");
}
}
public GQ() {
Container contentPane;
JButton button1, button2, button3, button4, button5;
setSize (FRAME_WIDTH, FRAME_HEIGHT);
setTitle("Geography Quiz");
setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
contentPane = getContentPane();
contentPane.setBackground(Color.pink);
contentPane.setLayout(new FlowLayout());
button1 = new JButton("Plate Tectonics");
button2 = new JButton("Rivers");
button3 = new JButton("Rocks");
button4 = new JButton("Quit");
contentPane.add(button1);
contentPane.add(button2);
contentPane.add(button3);
contentPane.add(button4);
button1.addActionListener(this);
button1.setActionCommand("b1");
button2.addActionListener(this);
button2.setActionCommand("b2");
button3.addActionListener(this);
button3.setActionCommand("b3");
button4.addActionListener(this);
button4.setActionCommand("b4");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
String ac = e.getActionCommand();
String[] questions = null;
if (ac.equals("b1")) {
questions = readFile("plate_tectonics.txt");
} else if(ac.equals("b2")) {
questions = readFile("rivers.txt");
} else if(ac.equals("b3")) {
questions = readFile("rocks.txt");
} else if (ac.equals("b4")) {
System.exit(0);
}
askQuestions(questions);
}
private String[] readFile(String path) {
Scanner s = null;
StringBuilder sb = new StringBuilder();
String separator = "\n"
try {
s = new Scanner(new BufferedReader(new FileReader(path)));
s.useDelimiter(",\\s*");
while (s.hasNext()) {
sb.append(s.next() + " ");
// JOptionPane.showMessageDialog(null,s.next());
}
}
finally {
if (s != null)
s.close();
break;
}
return sb.toString().split("\\s");
}
private void askQuestions(String[] questions) {
int count = 0;
for(int j = 0; j < questions.length; j++) {
String input = JOptionPane.showInputDialog(null, questions[j]);
// Use reference to AnswerStore instance to access data in it.
if(answerStore.answers[j].equals(input))
count++;
}
JOptionPane.showMessageDialog(null, "You answered " + count +
" out of " + questions.length +
" questions correctly.");
}
}
class AnswerStore {
String[] answer = {
"Hellenic", "constructive", "100km", "Italy", "Wegner",
"constructive", "100km", "Italy", "destroyed"
};
}