Java 我没有收到任何错误,但这些数字不会添加到jtext字段

Java 我没有收到任何错误,但这些数字不会添加到jtext字段,java,swing,event-handling,jframe,Java,Swing,Event Handling,Jframe,我正在尝试用java创建一个程序,它基本上是一个假彩票。它可以让你快速挑选5个随机数,也可以让你自己选择。“快速拾取”和“个人”按钮工作正常。单击“快速拾取”后,它会在5个随机框中显示5个随机数。现在的问题是,当点击播放按钮时,中奖号码不会显示,程序也不会记录需要多少年,以及需要多少张图纸,如果我从6个号码中得到3个,则不会显示,以此类推。请记住,程序运行时没有一个错误 这是我为制作gui的第一个类编写的代码: public class LotteryInterface extends JFra

我正在尝试用java创建一个程序,它基本上是一个假彩票。它可以让你快速挑选5个随机数,也可以让你自己选择。“快速拾取”和“个人”按钮工作正常。单击“快速拾取”后,它会在5个随机框中显示5个随机数。现在的问题是,当点击播放按钮时,中奖号码不会显示,程序也不会记录需要多少年,以及需要多少张图纸,如果我从6个号码中得到3个,则不会显示,以此类推。请记住,程序运行时没有一个错误

这是我为制作gui的第一个类编写的代码:

public class LotteryInterface extends JFrame {

LotteryEvent hello = new LotteryEvent(this);

//set up row 1 
JPanel row1 = new JPanel();
ButtonGroup option = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick Pick", false);
JCheckBox personal = new JCheckBox("Personal", true);
//set up row 2 
JPanel row2 = new JPanel();
JLabel numbersLabel = new JLabel("Your Picks", JLabel.RIGHT);
JTextField[] numbers = new JTextField[6];
JLabel winnersLabel = new JLabel("Winners", JLabel.RIGHT);
JTextField[] winners = new JTextField[6];
//set up row 3
JPanel row3 = new JPanel();
JButton play = new JButton("Play");
JButton stop = new JButton("Stop");
JButton reset = new JButton("Reset");
//set up row 4
JPanel row4 = new JPanel();
JLabel got3label = new JLabel("3 of 6", JLabel.RIGHT);
JTextField got3 = new JTextField("0");
JLabel got4Label = new JLabel("4 of 6", JLabel.RIGHT);
JTextField got4 = new JTextField("0");
JLabel got5label = new JLabel("5 of 6", JLabel.RIGHT);
JTextField got5 = new JTextField("0");
JLabel got6label = new JLabel("6 of 6", JLabel.RIGHT);
JTextField got6 = new JTextField("0", 10);
JLabel drawingsLabel = new JLabel("Drawings", JLabel.RIGHT);
JTextField drawings = new JTextField();
JLabel yearsLabel = new JLabel("Years", JLabel.RIGHT);
JTextField years = new JTextField();

public LotteryInterface() {
    super("Lottery Interface");
    setLookAndFeel();
    setSize(550, 400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    GridLayout layout = new GridLayout(0, 1, 10, 10);
    setLayout(layout);

    personal.addItemListener(hello);
    quickpick.addItemListener(hello);
    play.addActionListener(hello);
    stop.addActionListener(hello);
    reset.addActionListener(hello);

    FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER, 10, 10);
    option.add(quickpick);
    option.add(personal);
    row1.setLayout(layout1);
    row1.add(quickpick);
    row1.add(personal);
    add(row1);

    GridLayout layout2 = new GridLayout(2, 7, 10, 10);
    row2.setLayout(layout2);
    row2.add(numbersLabel);
    for (int i = 0; i < 6; i++) {
        numbers[i] = new JTextField();
        row2.add(numbers[i]);
    }
    row2.add(winnersLabel);
    for (int i = 0; i < 6; i++) {
        winners[i] = new JTextField();
        winners[i].setEditable(false);
        row2.add(winners[i]);
    }
    add(row2);

    FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER, 10, 10);
    row3.setLayout(layout3);
    row3.add(stop);
    row3.add(play);
    row3.add(reset);
    add(row3);

    GridLayout layout4 = new GridLayout(2, 3, 20, 10);
    row4.setLayout(layout4);
    row4.add(got3label);
    got3.setEditable(false);
    row4.add(got3);
    row4.add(got4Label);
    got4.setEditable(false);
    row4.add(got4);
    row4.add(got5label);
    got5.setEditable(false);
    row4.add(got5);
    row4.add(got6label);
    got6.setEditable(false);
    row4.add(got6);
    row4.add(drawingsLabel);
    drawings.setEditable(false);
    row4.add(drawings);
    row4.add(yearsLabel);
    years.setEditable(false);
    row4.add(years);
    add(row4);


    setVisible(true);

}

private void setLookAndFeel() {


}

public static void main(String args[]) {


    LotteryInterface yeah = new LotteryInterface();

    }

}
public class LotteryEvent extends JFrame implements ActionListener, ItemListener, Runnable {

LotteryInterface gui;
Thread playing;


public LotteryEvent(LotteryInterface in ) {
    gui = in ;
}

@Override
public void actionPerformed(ActionEvent event) {
    String command = event.getActionCommand();
    if (command.equals("Play")) {
        startPlaying();
    }
    if (command.equals("Stop")) {
        stopPlaying();
    }
    if (command.equals("Reset")) {
        clearAllFields();
    }

}

void startPlaying() {
    playing = new Thread(this);
    playing.start();
    gui.play.setEnabled(false);
    gui.stop.setEnabled(true);
    gui.reset.setEnabled(false);
    gui.quickpick.setSelected(false);
    gui.personal.setEnabled(false);

}

void stopPlaying() {
    gui.play.setEnabled(true);
    gui.stop.setEnabled(false);
    gui.reset.setEnabled(true);
    gui.quickpick.setSelected(true);
    gui.personal.setEnabled(true);
    playing = null;

}

void clearAllFields() {
    for (int i = 0; i < 6; i++) {
        gui.winners[i].setText(null);
        gui.numbers[i].setText(null);
    }

    gui.got3.setText("0");
    gui.got4.setText("0");
    gui.got4.setText("0");
    gui.got5.setText("0");
    gui.got6.setText("0");

    gui.years = null;
    gui.drawings = null;


}

@Override
public void itemStateChanged(ItemEvent event) {
    Object item = event.getItem();
    if (item == gui.quickpick) {
        for (int i = 0; i < 6; i++) {
            int pick;
            do {
                pick = (int) Math.floor(Math.random() * 50 + 1);

            } while (numberGone(pick, gui.numbers, i));
            gui.numbers[i].setText("" + pick);
        }
    } else {

        for (int i = 0; i < 6; i++) {
            gui.numbers[i].setText(null);
        }
    }

}

void addOneToField(JTextField field) {
    int num = Integer.parseInt("0" + field.getText());
    num++;
    field.setText("" + num);
}

boolean numberGone(int nums, JTextField[] pastNums, int count) {
    for (int i = 0; i < count; i++) {
        if (Integer.parseInt(pastNums[i].getText()) == nums) {
            return true;
        }
    }
    return false;
}

boolean matchedOne(JTextField win, JTextField[] allpicks) {
    for (int i = 0; i < 6; i++) {
        String winText = win.getText();
        if (winText.equals(allpicks[i].getText())) {
            return true;
        }
    }
    return false;
}

@Override
public void run() {
    Thread thisThread = new Thread();
    while (playing == thisThread) {
        addOneToField(gui.drawings);
        int draw = Integer.parseInt(gui.drawings.getText());
        float numYears = (float) draw / 104;
        gui.years.setText("" + numYears);

        int matches = 0;
        for (int i = 6; i < 6; i++) {
            int ball;
            do {
                ball = (int) Math.floor(Math.random() * 50 + 1);
            } while (numberGone(ball, gui.winners, i));
            gui.winners[i].setText("" + ball);
            if (matchedOne(gui.winners[i], gui.numbers)) {
                matches++;
            }

        }
        switch (matches) {
            case 3:
                addOneToField(gui.got3);
                break;
            case 4:
                addOneToField(gui.got4);
                break;
            case 5:
                addOneToField(gui.got5);
                break;
            case 6:
                addOneToField(gui.got6);
                gui.stop.setEnabled(false);
                gui.play.setEnabled(true);
                playing = null;
        }
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {

        }

    }

    }

}
公共类LotteryInterface扩展了JFrame{
LotteryEvent hello=新的LotteryEvent(此);
//设置第1行
JPanel row1=新的JPanel();
ButtonGroup选项=新建ButtonGroup();
JCheckBox quickpick=新的JCheckBox(“快速拾取”,false);
JCheckBox personal=新的JCheckBox(“personal”,true);
//设置第2行
JPanel row2=新的JPanel();
JLabel numbersLabel=新JLabel(“您的选择”,JLabel.RIGHT);
JTextField[]编号=新的JTextField[6];
JLabel winnersLabel=新JLabel(“Winners”,JLabel.RIGHT);
JTextField[]winners=新的JTextField[6];
//设置第3行
JPanel row3=新的JPanel();
JButton play=新JButton(“play”);
JButton stop=新JButton(“stop”);
JButton reset=新JButton(“reset”);
//设置第4行
JPanel row4=新的JPanel();
JLabel got3label=新的JLabel(“6个中的3个”,JLabel.右侧);
JTextField got3=新的JTextField(“0”);
JLabel got4Label=新的JLabel(“6个中的4个”,JLabel.RIGHT);
JTextField got4=新的JTextField(“0”);
JLabel got5label=新的JLabel(“6个中的5个”,JLabel.右侧);
JTextField got5=新的JTextField(“0”);
JLabel got6label=新JLabel(“6/6”,JLabel.右);
JTextField got6=新的JTextField(“0”,10);
JLabel drawingsLabel=新的JLabel(“图纸”,JLabel.RIGHT);
JTextField图纸=新的JTextField();
JLabel yearsLabel=新JLabel(“年”,JLabel.RIGHT);
JTextField年=新JTextField();
公共彩票接口(){
超级(“彩票界面”);
setLookAndFeel();
设置大小(550400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout=新的GridLayout(0,1,10,10);
设置布局(布局);
personal.addItemListener(你好);
addItemListener(hello);
play.addActionListener(你好);
addActionListener(你好);
reset.addActionListener(hello);
FlowLayout布局1=新的FlowLayout(FlowLayout.CENTER,10,10);
选项。添加(快速拾取);
选项。添加(个人);
行1.设置布局(布局1);
第1行。添加(快速拾取);
第1行。添加(个人);
添加(第1行);
GridLayout2=新的GridLayout(2,7,10,10);
行2.设置布局(布局2);
第2行。添加(数字标签);
对于(int i=0;i<6;i++){
数字[i]=新的JTextField();
第2行添加(编号[i]);
}
第2行。添加(WinnerLabel);
对于(int i=0;i<6;i++){
winners[i]=新JTextField();
winners[i].setEditable(false);
第2行添加(获胜者[i]);
}
添加(第2行);
FlowLayout layout3=新的FlowLayout(FlowLayout.CENTER,10,10);
第3行。设置布局(布局3);
第3行。添加(停止);
第3行。添加(播放);
第3行。添加(重置);
添加(第3行);
GridLayout4=新的GridLayout(2,3,20,10);
第4行。设置布局(布局4);
第4行。添加(got3label);
got3.setEditable(false);
第4行。添加(got3);
行4.add(got4Label);
got4.setEditable(false);
第4行。添加(got4);
第4行。添加(got5label);
got5.setEditable(false);
第4行。添加(got5);
第4行。添加(got6label);
got6.setEditable(false);
第4行。添加(got6);
第4行添加(图纸标签);
图纸。可编辑设置(假);
第4行。添加(图纸);
第4行。添加(年份标签);
年份。可编辑设置(假);
第4行。加上(年);
添加(第4行);
setVisible(真);
}
私有void setLookAndFeel(){
}
公共静态void main(字符串参数[]){
LotteryInterface yeah=新的LotteryInterface();
}
}
下面是第二个类,它让gui做一些事情:

public class LotteryInterface extends JFrame {

LotteryEvent hello = new LotteryEvent(this);

//set up row 1 
JPanel row1 = new JPanel();
ButtonGroup option = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick Pick", false);
JCheckBox personal = new JCheckBox("Personal", true);
//set up row 2 
JPanel row2 = new JPanel();
JLabel numbersLabel = new JLabel("Your Picks", JLabel.RIGHT);
JTextField[] numbers = new JTextField[6];
JLabel winnersLabel = new JLabel("Winners", JLabel.RIGHT);
JTextField[] winners = new JTextField[6];
//set up row 3
JPanel row3 = new JPanel();
JButton play = new JButton("Play");
JButton stop = new JButton("Stop");
JButton reset = new JButton("Reset");
//set up row 4
JPanel row4 = new JPanel();
JLabel got3label = new JLabel("3 of 6", JLabel.RIGHT);
JTextField got3 = new JTextField("0");
JLabel got4Label = new JLabel("4 of 6", JLabel.RIGHT);
JTextField got4 = new JTextField("0");
JLabel got5label = new JLabel("5 of 6", JLabel.RIGHT);
JTextField got5 = new JTextField("0");
JLabel got6label = new JLabel("6 of 6", JLabel.RIGHT);
JTextField got6 = new JTextField("0", 10);
JLabel drawingsLabel = new JLabel("Drawings", JLabel.RIGHT);
JTextField drawings = new JTextField();
JLabel yearsLabel = new JLabel("Years", JLabel.RIGHT);
JTextField years = new JTextField();

public LotteryInterface() {
    super("Lottery Interface");
    setLookAndFeel();
    setSize(550, 400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    GridLayout layout = new GridLayout(0, 1, 10, 10);
    setLayout(layout);

    personal.addItemListener(hello);
    quickpick.addItemListener(hello);
    play.addActionListener(hello);
    stop.addActionListener(hello);
    reset.addActionListener(hello);

    FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER, 10, 10);
    option.add(quickpick);
    option.add(personal);
    row1.setLayout(layout1);
    row1.add(quickpick);
    row1.add(personal);
    add(row1);

    GridLayout layout2 = new GridLayout(2, 7, 10, 10);
    row2.setLayout(layout2);
    row2.add(numbersLabel);
    for (int i = 0; i < 6; i++) {
        numbers[i] = new JTextField();
        row2.add(numbers[i]);
    }
    row2.add(winnersLabel);
    for (int i = 0; i < 6; i++) {
        winners[i] = new JTextField();
        winners[i].setEditable(false);
        row2.add(winners[i]);
    }
    add(row2);

    FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER, 10, 10);
    row3.setLayout(layout3);
    row3.add(stop);
    row3.add(play);
    row3.add(reset);
    add(row3);

    GridLayout layout4 = new GridLayout(2, 3, 20, 10);
    row4.setLayout(layout4);
    row4.add(got3label);
    got3.setEditable(false);
    row4.add(got3);
    row4.add(got4Label);
    got4.setEditable(false);
    row4.add(got4);
    row4.add(got5label);
    got5.setEditable(false);
    row4.add(got5);
    row4.add(got6label);
    got6.setEditable(false);
    row4.add(got6);
    row4.add(drawingsLabel);
    drawings.setEditable(false);
    row4.add(drawings);
    row4.add(yearsLabel);
    years.setEditable(false);
    row4.add(years);
    add(row4);


    setVisible(true);

}

private void setLookAndFeel() {


}

public static void main(String args[]) {


    LotteryInterface yeah = new LotteryInterface();

    }

}
public class LotteryEvent extends JFrame implements ActionListener, ItemListener, Runnable {

LotteryInterface gui;
Thread playing;


public LotteryEvent(LotteryInterface in ) {
    gui = in ;
}

@Override
public void actionPerformed(ActionEvent event) {
    String command = event.getActionCommand();
    if (command.equals("Play")) {
        startPlaying();
    }
    if (command.equals("Stop")) {
        stopPlaying();
    }
    if (command.equals("Reset")) {
        clearAllFields();
    }

}

void startPlaying() {
    playing = new Thread(this);
    playing.start();
    gui.play.setEnabled(false);
    gui.stop.setEnabled(true);
    gui.reset.setEnabled(false);
    gui.quickpick.setSelected(false);
    gui.personal.setEnabled(false);

}

void stopPlaying() {
    gui.play.setEnabled(true);
    gui.stop.setEnabled(false);
    gui.reset.setEnabled(true);
    gui.quickpick.setSelected(true);
    gui.personal.setEnabled(true);
    playing = null;

}

void clearAllFields() {
    for (int i = 0; i < 6; i++) {
        gui.winners[i].setText(null);
        gui.numbers[i].setText(null);
    }

    gui.got3.setText("0");
    gui.got4.setText("0");
    gui.got4.setText("0");
    gui.got5.setText("0");
    gui.got6.setText("0");

    gui.years = null;
    gui.drawings = null;


}

@Override
public void itemStateChanged(ItemEvent event) {
    Object item = event.getItem();
    if (item == gui.quickpick) {
        for (int i = 0; i < 6; i++) {
            int pick;
            do {
                pick = (int) Math.floor(Math.random() * 50 + 1);

            } while (numberGone(pick, gui.numbers, i));
            gui.numbers[i].setText("" + pick);
        }
    } else {

        for (int i = 0; i < 6; i++) {
            gui.numbers[i].setText(null);
        }
    }

}

void addOneToField(JTextField field) {
    int num = Integer.parseInt("0" + field.getText());
    num++;
    field.setText("" + num);
}

boolean numberGone(int nums, JTextField[] pastNums, int count) {
    for (int i = 0; i < count; i++) {
        if (Integer.parseInt(pastNums[i].getText()) == nums) {
            return true;
        }
    }
    return false;
}

boolean matchedOne(JTextField win, JTextField[] allpicks) {
    for (int i = 0; i < 6; i++) {
        String winText = win.getText();
        if (winText.equals(allpicks[i].getText())) {
            return true;
        }
    }
    return false;
}

@Override
public void run() {
    Thread thisThread = new Thread();
    while (playing == thisThread) {
        addOneToField(gui.drawings);
        int draw = Integer.parseInt(gui.drawings.getText());
        float numYears = (float) draw / 104;
        gui.years.setText("" + numYears);

        int matches = 0;
        for (int i = 6; i < 6; i++) {
            int ball;
            do {
                ball = (int) Math.floor(Math.random() * 50 + 1);
            } while (numberGone(ball, gui.winners, i));
            gui.winners[i].setText("" + ball);
            if (matchedOne(gui.winners[i], gui.numbers)) {
                matches++;
            }

        }
        switch (matches) {
            case 3:
                addOneToField(gui.got3);
                break;
            case 4:
                addOneToField(gui.got4);
                break;
            case 5:
                addOneToField(gui.got5);
                break;
            case 6:
                addOneToField(gui.got6);
                gui.stop.setEnabled(false);
                gui.play.setEnabled(true);
                playing = null;
        }
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {

        }

    }

    }

}
公共类LotteryEvent扩展JFrame实现ActionListener、ItemListener、Runnable{
图形界面;
线程播放;
公共乐透事件(乐透中的乐透界面){
gui=in;
}
@凌驾
已执行的公共无效操作(操作事件){
String command=event.getActionCommand();
如果(指令相等(“播放”)){
开始播放();
}
if(command.equals(“Stop”)){
停止铺设();
}
if(命令等于(“重置”)){
clearAllFields();
}
}
void startPlaying(){
播放=新线程(此);
playing.start();
gui.play.setEnabled(false);
gui.stop.setEnabled(true);
gui.reset.setEnabled(false);
gui.quickpick.setSelected(false);
gui.personal.setEnabled(false);
}
填空{
gui.play.setEnabled(true);
gui.stop.setEnabled(false);
gui.reset.setEnabled(true);
gui.quickpick.setSelected(true);
gui.personal.setEnabled(true);
播放=空;
}
void clearAllFields(){
对于(int i=0;i<6;i++){
gui.winners[i].setText(null);
gui.numbers[i].setText(空);
}
gui.got3.setText(“0”);
gui.got4.setText(“0”);
gui.got4.setText(“0”);
gui.got5.setText(“0”);
gui.got6.setText(“0”);
gui.years=null;
gui.drawings=null;
}
@凌驾
公共无效itemStateChanged(ItemEvent事件){
对象项=event.getItem();
if(item==gui.quickpick){
对于(int i=0;i<6;i++){
整数选择;
做{
pick=(int)Math.floor(Math.random()*50+1);
}while(numberGone(pick,gui.numbers,i));
gui.numbers[i].setText(““+pick”);
}
}否则{
对于(int i=0;i<6;i++){
gui.numbers[i].setText(空);
}
}
}
void addOneToField(JTextField字段){
int num=Integer.parseInt(“0”+field.getText());
num++;
field.setText(“+num”);
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.Timer;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class LotteryInterface extends JPanel {

    LotteryEvent hello = new LotteryEvent(this);

    //set up row 1 
    JPanel row1 = new JPanel();
    ButtonGroup option = new ButtonGroup();
    JCheckBox quickpick = new JCheckBox("Quick Pick", false);
    JCheckBox personal = new JCheckBox("Personal", true);
    //set up row 2 
    JPanel row2 = new JPanel();
    JLabel numbersLabel = new JLabel("Your Picks", JLabel.RIGHT);
    JTextField[] numbers = new JTextField[6];
    JLabel winnersLabel = new JLabel("Winners", JLabel.RIGHT);
    JTextField[] winners = new JTextField[6];
    //set up row 3
    JPanel row3 = new JPanel();
    JButton play = new JButton("Play");
    JButton stop = new JButton("Stop");
    JButton reset = new JButton("Reset");
    //set up row 4
    JPanel row4 = new JPanel();
    JLabel got3label = new JLabel("3 of 6", JLabel.RIGHT);
    JTextField got3 = new JTextField("0");
    JLabel got4Label = new JLabel("4 of 6", JLabel.RIGHT);
    JTextField got4 = new JTextField("0");
    JLabel got5label = new JLabel("5 of 6", JLabel.RIGHT);
    JTextField got5 = new JTextField("0");
    JLabel got6label = new JLabel("6 of 6", JLabel.RIGHT);
    JTextField got6 = new JTextField("0", 10);
    JLabel drawingsLabel = new JLabel("Drawings", JLabel.RIGHT);
    JTextField drawings = new JTextField();
    JLabel yearsLabel = new JLabel("Years", JLabel.RIGHT);
    JTextField years = new JTextField();

    public LotteryInterface() {
        GridLayout layout = new GridLayout(0, 1, 10, 10);
        setLayout(layout);

        ItemListener itemListener = new ItemListener() {

            @Override
            public void itemStateChanged(ItemEvent e) {
                Object item = e.getItem();
                if (item == quickpick) {
                    for (int i = 0; i < 6; i++) {
                        int pick;
                        do {
                            pick = (int) Math.floor(Math.random() * 50 + 1);

                        } while (numberGone(pick, numbers, i));
                        numbers[i].setText("" + pick);
                    }
                } else {

                    for (int i = 0; i < 6; i++) {
                        numbers[i].setText(null);
                    }
                }

            }
        };

        personal.addItemListener(itemListener);
        quickpick.addItemListener(itemListener);
        play.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                hello.start();
            }
        });
        stop.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                hello.stop();
            }
        });
        reset.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                hello.stop();
                clearAllFields();
            }
        });

        FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER, 10, 10);
        option.add(quickpick);
        option.add(personal);
        row1.setLayout(layout1);
        row1.add(quickpick);
        row1.add(personal);
        add(row1);

        GridLayout layout2 = new GridLayout(2, 7, 10, 10);
        row2.setLayout(layout2);
        row2.add(numbersLabel);
        for (int i = 0; i < 6; i++) {
            numbers[i] = new JTextField();
            row2.add(numbers[i]);
        }
        row2.add(winnersLabel);
        for (int i = 0; i < 6; i++) {
            winners[i] = new JTextField();
            winners[i].setEditable(false);
            row2.add(winners[i]);
        }
        add(row2);

        FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER, 10, 10);
        row3.setLayout(layout3);
        row3.add(stop);
        row3.add(play);
        row3.add(reset);
        add(row3);

        GridLayout layout4 = new GridLayout(2, 3, 20, 10);
        row4.setLayout(layout4);
        row4.add(got3label);
        got3.setEditable(false);
        row4.add(got3);
        row4.add(got4Label);
        got4.setEditable(false);
        row4.add(got4);
        row4.add(got5label);
        got5.setEditable(false);
        row4.add(got5);
        row4.add(got6label);
        got6.setEditable(false);
        row4.add(got6);
        row4.add(drawingsLabel);
        drawings.setEditable(false);
        row4.add(drawings);
        row4.add(yearsLabel);
        years.setEditable(false);
        row4.add(years);
        add(row4);

    }

    void clearAllFields() {
        for (int i = 0; i < 6; i++) {
            winners[i].setText(null);
            numbers[i].setText(null);
        }

        got3.setText("0");
        got4.setText("0");
        got4.setText("0");
        got5.setText("0");
        got6.setText("0");

        years = null;
        drawings = null;

    }

    boolean numberGone(int nums, JTextField[] pastNums, int count) {
        for (int i = 0; i < count; i++) {
            if (Integer.parseInt(pastNums[i].getText()) == nums) {
                return true;
            }
        }
        return false;
    }

    public static void main(String args[]) {

        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                    ex.printStackTrace();
                }

                JFrame frame = new JFrame("Testing");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.add(new LotteryInterface());
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }

    public class LotteryEvent {

        LotteryInterface gui;
        private Timer timer;

        public LotteryEvent(LotteryInterface in) {
            gui = in;
            timer = new Timer(100, new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    addOneToField(gui.drawings);
                    int draw = Integer.parseInt(gui.drawings.getText());
                    float numYears = (float) draw / 104;
                    gui.years.setText("" + numYears);

                    int matches = 0;
                    for (int i = 0; i < 6; i++) {
                        int ball;
                        do {
                            ball = (int) Math.floor(Math.random() * 50 + 1);
                        } while (numberGone(ball, gui.winners, i));
                        gui.winners[i].setText("" + ball);
                        if (matchedOne(gui.winners[i], gui.numbers)) {
                            matches++;
                        }

                    }
                    switch (matches) {
                        case 3:
                            addOneToField(gui.got3);
                            break;
                        case 4:
                            addOneToField(gui.got4);
                            break;
                        case 5:
                            addOneToField(gui.got5);
                            break;
                        case 6:
                            addOneToField(gui.got6);
                            gui.stop.setEnabled(false);
                            gui.play.setEnabled(true);
                            stop();
                    }
                }
            });
        }

        public void stop() {
            timer.stop();
        }

        public void start() {
            timer.start();
        }

        void addOneToField(JTextField field) {
            int num = Integer.parseInt("0" + field.getText());
            num++;
            field.setText("" + num);
        }

        boolean matchedOne(JTextField win, JTextField[] allpicks) {
            for (int i = 0; i < 6; i++) {
                String winText = win.getText();
                if (winText.equals(allpicks[i].getText())) {
                    return true;
                }
            }
            return false;
        }

    }

}
Thread thisThread = new Thread();
Thread thisThread = thread.currentThread();