package cit594;

import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class StudentChooser extends JFrame {
    JLabel label = new JLabel("Student name goes here");
    JButton button = new JButton("Next student");
    String[] students = getArrayOfStudents();
    Random rand = new Random();
    Font largeSerifFont = new Font(Font.SERIF, Font.PLAIN, 48);
    Font largeSansSerifFont = new Font(Font.SANS_SERIF, Font.PLAIN, 36);

    public StudentChooser() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @return
     */
    private String[] getArrayOfStudents() {
        return new String[] {
                "Abeer",
                "Alexander",
                "Anne",
                "Benjamin",
                "Blaine",
                "Brittany",
                "Chao",
                "Chen-wei",
                "Chenxi",
                "Christopher",
                "Chuya",
                "Connor",
                "Dhyanam",
                "Emily",
                "Eric",
                "Fangpeng",
                "Hao",
                "Honglin",
                "Jingyi",
                "Kun",
                "Luyang",
                "Man",
                "Michael",
                "Min",
                "Orren",
                "Pengjia",
                "Qin",
                "Rizwan",
                "Shuo",
                "Siyu",
                "Stacy",
                "Temidayo",
                "Thomas",
                "Thomas",
                "Varissara",
                "Xuan",
                "Yang",
                "Yiyi",
                "Yushu",
                "Zhishen",
                "Ziwei",
                "Ziyuan"
        };
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        new StudentChooser().run();
    }

    private void run() {
        setLayout(new GridLayout(2, 1));
        setFont(new Font("Serif", Font.PLAIN, 48));
        add(label);
        label.setFont(largeSerifFont);
        add(button);
        button.setFont(largeSansSerifFont);
        pack();
        setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {
                int r = rand.nextInt(students.length);
                String student = students[r];
                label.setText(student);
            }
        });
    }
}
