Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package project;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- /**
- *
- * @author Aneta
- */
- class Menu extends JFrame implements ActionListener {
- Dimension d;
- JFrame frame;
- JPanel panel;
- JButton button;
- JLabel label;
- JTextArea text;
- JRadioButton radio;
- JScrollPane sp;
- JTextField firstName;
- JTextField lastName;
- ButtonGroup group0=new ButtonGroup();
- ButtonGroup group1=new ButtonGroup();
- ButtonGroup group2=new ButtonGroup();
- ButtonGroup group3=new ButtonGroup();
- ButtonGroup group4=new ButtonGroup();
- ButtonGroup group5=new ButtonGroup();
- ButtonGroup group6=new ButtonGroup();
- ButtonGroup group7=new ButtonGroup();
- ButtonGroup group8=new ButtonGroup();
- ButtonGroup group9=new ButtonGroup();
- Questions statements;
- Answers points;
- playerData player;
- Menu() {
- }
- public void start(){
- frame=new JFrame ("Mechanical Engineering- Quiz");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- d=Toolkit.getDefaultToolkit().getScreenSize();
- frame.setSize(1380, 725);
- panel=new JPanel();
- panel.setLayout(new BoxLayout(panel,BoxLayout.PAGE_AXIS));
- panel.setBackground(Color.LIGHT_GRAY);
- frame.add(panel);
- button=new JButton("START");
- button.addActionListener((ActionListener)this);
- button.setAlignmentX(Component.CENTER_ALIGNMENT);
- panel.add(Box.createRigidArea(new Dimension(50,200)));
- panel.add(button);
- button=new JButton("EXIT");
- button.addActionListener((ActionListener)this);
- button.setAlignmentX(Component.CENTER_ALIGNMENT);
- panel.add(button);
- frame.setVisible(true); //window is visible
- }
- public void clean(){
- panel.removeAll();
- }
- public void signIn(){
- label=new JLabel ("Your First Name: ");
- panel.add(label);
- firstName = new JTextField("");
- panel.add(firstName);
- label=new JLabel ("Your Last Name: ");
- panel.add(label);
- lastName = new JTextField("");
- panel.add(lastName);
- lastName.setSize(200, 100);
- button=new JButton("START THE QUIZ");
- button.addActionListener(this);
- panel.add(button);
- panel.validate();
- }
- public void questions(){
- panel.setLayout(new GridLayout(0,4));//*nieskończoność wierszy->0 , 4 kolumny
- String[] t = new String[100];
- statements = new Questions();
- t = statements.fillQuestions();
- String[][] a = new String[40][];
- points = new Answers();
- a = points.scheme();//*pobiera odpowiedzi z klasy
- for(int i=0; i<10; i++){
- label = new JLabel(t[i]);
- panel.add(label);
- label = new JLabel();//*puste 3 labele aby przenieść do nowej linii
- panel.add(label);
- label = new JLabel();
- panel.add(label);
- label = new JLabel();
- panel.add(label);
- for(int j=0; j<4; j++){
- radio = new JRadioButton(a[j][i]);//*wywołujemy domy
- radio.setContentAreaFilled(false);//*przezroczyste przyciski
- radio.setActionCommand(radio.getText());//*pobranie ostatecznej odpowiedzi
- switch (i){//*tylko jedna odpowiedź możliwa do zaznaczenia
- case 0:
- group0.add(radio);//*grupy buttonów (w poziomie)
- break;
- case 1:
- group1.add(radio);
- break;
- case 2:
- group2.add(radio);
- break;
- case 3:
- group3.add(radio);
- break;
- case 4:
- group4.add(radio);
- break;
- case 5:
- group5.add(radio);
- break;
- case 6:
- group6.add(radio);
- break;
- case 7:
- group7.add(radio);
- break;
- case 8:
- group8.add(radio);
- break;
- case 9:
- group9.add(radio);
- break;
- }
- radio.setSelected(rootPaneCheckingEnabled); //* zaznaczamy ostatni przycisk, aby wymusić na użytkowniku wybór każdego pola
- panel.add(radio);//*ostatecznie wyświetla button dla usera
- }
- }
- button = new JButton("CHECK RESULTS");
- button.addActionListener(this);
- panel.add(button);
- label = new JLabel();
- panel.add(label);
- label = new JLabel();
- panel.add(label);
- label = new JLabel();
- panel.add(label);
- frame=new JFrame();
- panel.validate();
- frame.pack();
- }
- public void results(String firstName, String lastName, String[]ans){
- panel.setLayout(new GridLayout(0,1));
- int value=0;
- for(int i=0; i<10; i++){
- switch (ans[i]){
- case "area of surface of revolution":
- value++;
- break;
- case "Pappus Guldinus' theorem":
- value=value+2;
- break;
- case "support loads, straight members, cayy loads, joint located at the end of member, two-force members":
- value=value+3;
- break;
- case "it is important to include tangential and normal acceleration":
- value=value+4;
- break;
- case "I=Io+md^2":
- value=value+5;
- break;
- case "we can use second moment of inertia interchangeably amicably with formula":
- value=value+6;
- break;
- case "Yes":
- value=value+7;
- break;
- case "ductility":
- value=value+8;
- break;
- case "maximum distortion energy criterion":
- value=value+9;
- break;
- case "Vickers":
- value=value+10;
- break;
- }
- }
- String a;
- if (value<6){
- a="You have failed. Try again!";
- button = new JButton("DO THE TEST AGAIN");
- button.addActionListener(this);
- panel.add(button);
- button = new JButton("EXIT");
- button.addActionListener(this);
- panel.add(button);
- }
- else{
- a="Congratulations! You have passed.";
- button = new JButton("EXIT");
- button.addActionListener(this);
- panel.add(button);
- }
- text=new JTextArea();
- text.setText(a);
- text.setLineWrap(true);
- text.setWrapStyleWord(true);
- sp = new JScrollPane(text);
- panel.add(sp);
- panel.validate();
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- String source = ae.getActionCommand();
- if (null != source)//*gdy nie wciśnie się guzika nic się nie wydarzy/zabezpieczenie
- switch (source) {
- case "EXIT":
- System.exit(0);
- case "START":
- clean();
- signIn();
- break;
- case "START THE QUIZ":
- player = new playerData();
- player.firstNameDownload(firstName.getText());
- player.lastNameDownload(lastName.getText());
- clean();
- questions();
- break;
- case "CHECK RESULTS":
- String[] f = new String[10];
- f[0] = group0.getSelection().getActionCommand();
- f[1] = group1.getSelection().getActionCommand();
- f[2] = group2.getSelection().getActionCommand();
- f[3] = group3.getSelection().getActionCommand();
- f[4] = group4.getSelection().getActionCommand();
- f[5] = group5.getSelection().getActionCommand();
- f[6] = group6.getSelection().getActionCommand();
- f[7] = group7.getSelection().getActionCommand();
- f[8] = group8.getSelection().getActionCommand();
- f[9] = group9.getSelection().getActionCommand();
- player.answerDownload(f);
- clean();
- results(player.firstName, player.lastName, player.answer);
- break;
- case "DO THE TEST AGAIN":
- clean();
- player.reset();
- signIn();
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement