Advertisement
Guest User

Untitled

a guest
Feb 14th, 2017
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 37.39 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Random;
  3. import javax.swing.JOptionPane;
  4.  
  5. public class LottoGUI extends javax.swing.JFrame {
  6.     private ArrayList<Integer> ticketNumbers = new ArrayList<>();
  7.     private ArrayList<Ticket> ticketList = new ArrayList<>();
  8.        
  9.     public LottoGUI() {
  10.         initComponents();
  11.     }
  12.  
  13.     @SuppressWarnings("unchecked")
  14.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  15.     private void initComponents() {
  16.  
  17.         mainTabbedPane = new javax.swing.JTabbedPane();
  18.         choicePanel = new javax.swing.JPanel();
  19.         numberPanel = new javax.swing.JPanel();
  20.         numberButton1 = new javax.swing.JButton();
  21.         numberButton2 = new javax.swing.JButton();
  22.         numberButton3 = new javax.swing.JButton();
  23.         numberButton4 = new javax.swing.JButton();
  24.         numberButton5 = new javax.swing.JButton();
  25.         numberButton6 = new javax.swing.JButton();
  26.         numberButton7 = new javax.swing.JButton();
  27.         numberButton8 = new javax.swing.JButton();
  28.         numberButton9 = new javax.swing.JButton();
  29.         numberButton10 = new javax.swing.JButton();
  30.         numberButton11 = new javax.swing.JButton();
  31.         numberButton12 = new javax.swing.JButton();
  32.         numberButton13 = new javax.swing.JButton();
  33.         numberButton14 = new javax.swing.JButton();
  34.         numberButton15 = new javax.swing.JButton();
  35.         numberButton16 = new javax.swing.JButton();
  36.         numberButton17 = new javax.swing.JButton();
  37.         numberButton18 = new javax.swing.JButton();
  38.         numberButton19 = new javax.swing.JButton();
  39.         numberButton20 = new javax.swing.JButton();
  40.         numberButton21 = new javax.swing.JButton();
  41.         numberButton22 = new javax.swing.JButton();
  42.         numberButton23 = new javax.swing.JButton();
  43.         numberButton24 = new javax.swing.JButton();
  44.         numberButton25 = new javax.swing.JButton();
  45.         numberButton26 = new javax.swing.JButton();
  46.         numberButton27 = new javax.swing.JButton();
  47.         numberButton28 = new javax.swing.JButton();
  48.         nameAndNumbersPanel = new javax.swing.JPanel();
  49.         nameLabel = new javax.swing.JLabel();
  50.         nameInput = new javax.swing.JTextField();
  51.         numbersLabel = new javax.swing.JLabel();
  52.         numbersTextField = new javax.swing.JTextField();
  53.         enterPanel = new javax.swing.JPanel();
  54.         undoButton = new javax.swing.JButton();
  55.         quickPickButton = new javax.swing.JButton();
  56.         enterLottoButton = new javax.swing.JButton();
  57.         peopleEnteredPanel = new javax.swing.JPanel();
  58.         numberOfPeopleLabel = new javax.swing.JLabel();
  59.         resultPanel = new javax.swing.JPanel();
  60.         runLottoPanel = new javax.swing.JPanel();
  61.         runLotto = new javax.swing.JButton();
  62.         listPanel = new javax.swing.JPanel();
  63.         listScrollPane = new javax.swing.JScrollPane();
  64.         listTickets = new javax.swing.JTextArea();
  65.         winnerPanel = new javax.swing.JPanel();
  66.         topMenuBar = new javax.swing.JMenuBar();
  67.         options = new javax.swing.JMenu();
  68.  
  69.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  70.         setTitle("Shannon Cricket Club");
  71.  
  72.         mainTabbedPane.addMouseListener(new java.awt.event.MouseAdapter() {
  73.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  74.                 mainTabbedPaneMouseClicked(evt);
  75.             }
  76.         });
  77.  
  78.         numberPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  79.         numberPanel.setLayout(new java.awt.GridLayout(7, 4));
  80.  
  81.         numberButton1.setText("1");
  82.         numberButton1.addActionListener(new java.awt.event.ActionListener() {
  83.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  84.                 numberButton1ActionPerformed(evt);
  85.             }
  86.         });
  87.         numberPanel.add(numberButton1);
  88.  
  89.         numberButton2.setText("2");
  90.         numberButton2.addActionListener(new java.awt.event.ActionListener() {
  91.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  92.                 numberButton2ActionPerformed(evt);
  93.             }
  94.         });
  95.         numberPanel.add(numberButton2);
  96.  
  97.         numberButton3.setText("3");
  98.         numberButton3.addActionListener(new java.awt.event.ActionListener() {
  99.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  100.                 numberButton3ActionPerformed(evt);
  101.             }
  102.         });
  103.         numberPanel.add(numberButton3);
  104.  
  105.         numberButton4.setText("4");
  106.         numberButton4.addActionListener(new java.awt.event.ActionListener() {
  107.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  108.                 numberButton4ActionPerformed(evt);
  109.             }
  110.         });
  111.         numberPanel.add(numberButton4);
  112.  
  113.         numberButton5.setText("5");
  114.         numberButton5.addActionListener(new java.awt.event.ActionListener() {
  115.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  116.                 numberButton5ActionPerformed(evt);
  117.             }
  118.         });
  119.         numberPanel.add(numberButton5);
  120.  
  121.         numberButton6.setText("6");
  122.         numberButton6.addActionListener(new java.awt.event.ActionListener() {
  123.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  124.                 numberButton6ActionPerformed(evt);
  125.             }
  126.         });
  127.         numberPanel.add(numberButton6);
  128.  
  129.         numberButton7.setText("7");
  130.         numberButton7.addActionListener(new java.awt.event.ActionListener() {
  131.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  132.                 numberButton7ActionPerformed(evt);
  133.             }
  134.         });
  135.         numberPanel.add(numberButton7);
  136.  
  137.         numberButton8.setText("8");
  138.         numberButton8.addActionListener(new java.awt.event.ActionListener() {
  139.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  140.                 numberButton8ActionPerformed(evt);
  141.             }
  142.         });
  143.         numberPanel.add(numberButton8);
  144.  
  145.         numberButton9.setText("9");
  146.         numberButton9.addActionListener(new java.awt.event.ActionListener() {
  147.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  148.                 numberButton9ActionPerformed(evt);
  149.             }
  150.         });
  151.         numberPanel.add(numberButton9);
  152.  
  153.         numberButton10.setText("10");
  154.         numberButton10.addActionListener(new java.awt.event.ActionListener() {
  155.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  156.                 numberButton10ActionPerformed(evt);
  157.             }
  158.         });
  159.         numberPanel.add(numberButton10);
  160.  
  161.         numberButton11.setText("11");
  162.         numberButton11.addActionListener(new java.awt.event.ActionListener() {
  163.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  164.                 numberButton11ActionPerformed(evt);
  165.             }
  166.         });
  167.         numberPanel.add(numberButton11);
  168.  
  169.         numberButton12.setText("12");
  170.         numberButton12.addActionListener(new java.awt.event.ActionListener() {
  171.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  172.                 numberButton12ActionPerformed(evt);
  173.             }
  174.         });
  175.         numberPanel.add(numberButton12);
  176.  
  177.         numberButton13.setText("13");
  178.         numberButton13.addActionListener(new java.awt.event.ActionListener() {
  179.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  180.                 numberButton13ActionPerformed(evt);
  181.             }
  182.         });
  183.         numberPanel.add(numberButton13);
  184.  
  185.         numberButton14.setText("14");
  186.         numberButton14.addActionListener(new java.awt.event.ActionListener() {
  187.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  188.                 numberButton14ActionPerformed(evt);
  189.             }
  190.         });
  191.         numberPanel.add(numberButton14);
  192.  
  193.         numberButton15.setText("15");
  194.         numberButton15.addActionListener(new java.awt.event.ActionListener() {
  195.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  196.                 numberButton15ActionPerformed(evt);
  197.             }
  198.         });
  199.         numberPanel.add(numberButton15);
  200.  
  201.         numberButton16.setText("16");
  202.         numberButton16.addActionListener(new java.awt.event.ActionListener() {
  203.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  204.                 numberButton16ActionPerformed(evt);
  205.             }
  206.         });
  207.         numberPanel.add(numberButton16);
  208.  
  209.         numberButton17.setText("17");
  210.         numberButton17.addActionListener(new java.awt.event.ActionListener() {
  211.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  212.                 numberButton17ActionPerformed(evt);
  213.             }
  214.         });
  215.         numberPanel.add(numberButton17);
  216.  
  217.         numberButton18.setText("18");
  218.         numberButton18.addActionListener(new java.awt.event.ActionListener() {
  219.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  220.                 numberButton18ActionPerformed(evt);
  221.             }
  222.         });
  223.         numberPanel.add(numberButton18);
  224.  
  225.         numberButton19.setText("19");
  226.         numberButton19.addActionListener(new java.awt.event.ActionListener() {
  227.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  228.                 numberButton19ActionPerformed(evt);
  229.             }
  230.         });
  231.         numberPanel.add(numberButton19);
  232.  
  233.         numberButton20.setText("20");
  234.         numberButton20.addActionListener(new java.awt.event.ActionListener() {
  235.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  236.                 numberButton20ActionPerformed(evt);
  237.             }
  238.         });
  239.         numberPanel.add(numberButton20);
  240.  
  241.         numberButton21.setText("21");
  242.         numberButton21.addActionListener(new java.awt.event.ActionListener() {
  243.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  244.                 numberButton21ActionPerformed(evt);
  245.             }
  246.         });
  247.         numberPanel.add(numberButton21);
  248.  
  249.         numberButton22.setText("22");
  250.         numberButton22.addActionListener(new java.awt.event.ActionListener() {
  251.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  252.                 numberButton22ActionPerformed(evt);
  253.             }
  254.         });
  255.         numberPanel.add(numberButton22);
  256.  
  257.         numberButton23.setText("23");
  258.         numberButton23.addActionListener(new java.awt.event.ActionListener() {
  259.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  260.                 numberButton23ActionPerformed(evt);
  261.             }
  262.         });
  263.         numberPanel.add(numberButton23);
  264.  
  265.         numberButton24.setText("24");
  266.         numberButton24.addActionListener(new java.awt.event.ActionListener() {
  267.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  268.                 numberButton24ActionPerformed(evt);
  269.             }
  270.         });
  271.         numberPanel.add(numberButton24);
  272.  
  273.         numberButton25.setText("25");
  274.         numberButton25.addActionListener(new java.awt.event.ActionListener() {
  275.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  276.                 numberButton25ActionPerformed(evt);
  277.             }
  278.         });
  279.         numberPanel.add(numberButton25);
  280.  
  281.         numberButton26.setText("26");
  282.         numberButton26.addActionListener(new java.awt.event.ActionListener() {
  283.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  284.                 numberButton26ActionPerformed(evt);
  285.             }
  286.         });
  287.         numberPanel.add(numberButton26);
  288.  
  289.         numberButton27.setText("27");
  290.         numberButton27.addActionListener(new java.awt.event.ActionListener() {
  291.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  292.                 numberButton27ActionPerformed(evt);
  293.             }
  294.         });
  295.         numberPanel.add(numberButton27);
  296.  
  297.         numberButton28.setText("28");
  298.         numberButton28.addActionListener(new java.awt.event.ActionListener() {
  299.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  300.                 numberButton28ActionPerformed(evt);
  301.             }
  302.         });
  303.         numberPanel.add(numberButton28);
  304.  
  305.         nameAndNumbersPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  306.         nameAndNumbersPanel.setLayout(new java.awt.GridLayout(2, 2));
  307.  
  308.         nameLabel.setText("            Name:");
  309.         nameAndNumbersPanel.add(nameLabel);
  310.         nameAndNumbersPanel.add(nameInput);
  311.  
  312.         numbersLabel.setText("       Numbers:");
  313.         nameAndNumbersPanel.add(numbersLabel);
  314.         nameAndNumbersPanel.add(numbersTextField);
  315.  
  316.         enterPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  317.         enterPanel.setLayout(new java.awt.GridLayout(3, 1));
  318.  
  319.         undoButton.setText("Undo Last Number");
  320.         undoButton.addActionListener(new java.awt.event.ActionListener() {
  321.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  322.                 undoButtonActionPerformed(evt);
  323.             }
  324.         });
  325.         enterPanel.add(undoButton);
  326.  
  327.         quickPickButton.setText("Quick Pick Numbers");
  328.         quickPickButton.addActionListener(new java.awt.event.ActionListener() {
  329.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  330.                 quickPickButtonActionPerformed(evt);
  331.             }
  332.         });
  333.         enterPanel.add(quickPickButton);
  334.  
  335.         enterLottoButton.setText("Enter The Lotto");
  336.         enterLottoButton.addActionListener(new java.awt.event.ActionListener() {
  337.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  338.                 enterLottoButtonActionPerformed(evt);
  339.             }
  340.         });
  341.         enterPanel.add(enterLottoButton);
  342.  
  343.         peopleEnteredPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  344.  
  345.         numberOfPeopleLabel.setText("           People Entered: ");
  346.  
  347.         javax.swing.GroupLayout peopleEnteredPanelLayout = new javax.swing.GroupLayout(peopleEnteredPanel);
  348.         peopleEnteredPanel.setLayout(peopleEnteredPanelLayout);
  349.         peopleEnteredPanelLayout.setHorizontalGroup(
  350.             peopleEnteredPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  351.             .addGroup(peopleEnteredPanelLayout.createSequentialGroup()
  352.                 .addContainerGap()
  353.                 .addComponent(numberOfPeopleLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  354.                 .addContainerGap())
  355.         );
  356.         peopleEnteredPanelLayout.setVerticalGroup(
  357.             peopleEnteredPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  358.             .addComponent(numberOfPeopleLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  359.         );
  360.  
  361.         javax.swing.GroupLayout choicePanelLayout = new javax.swing.GroupLayout(choicePanel);
  362.         choicePanel.setLayout(choicePanelLayout);
  363.         choicePanelLayout.setHorizontalGroup(
  364.             choicePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  365.             .addGroup(choicePanelLayout.createSequentialGroup()
  366.                 .addContainerGap()
  367.                 .addComponent(numberPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
  368.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  369.                 .addGroup(choicePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  370.                     .addComponent(nameAndNumbersPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
  371.                     .addComponent(enterPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  372.                     .addComponent(peopleEnteredPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  373.                 .addContainerGap())
  374.         );
  375.         choicePanelLayout.setVerticalGroup(
  376.             choicePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  377.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, choicePanelLayout.createSequentialGroup()
  378.                 .addContainerGap()
  379.                 .addGroup(choicePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  380.                     .addComponent(numberPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE)
  381.                     .addGroup(choicePanelLayout.createSequentialGroup()
  382.                         .addComponent(nameAndNumbersPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  383.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  384.                         .addComponent(enterPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
  385.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  386.                         .addComponent(peopleEnteredPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
  387.                 .addContainerGap())
  388.         );
  389.  
  390.         mainTabbedPane.addTab("Choose", choicePanel);
  391.  
  392.         runLottoPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  393.  
  394.         runLotto.setText("Run Lotto");
  395.  
  396.         javax.swing.GroupLayout runLottoPanelLayout = new javax.swing.GroupLayout(runLottoPanel);
  397.         runLottoPanel.setLayout(runLottoPanelLayout);
  398.         runLottoPanelLayout.setHorizontalGroup(
  399.             runLottoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  400.             .addGroup(runLottoPanelLayout.createSequentialGroup()
  401.                 .addContainerGap()
  402.                 .addComponent(runLotto, javax.swing.GroupLayout.DEFAULT_SIZE, 143, Short.MAX_VALUE)
  403.                 .addContainerGap())
  404.         );
  405.         runLottoPanelLayout.setVerticalGroup(
  406.             runLottoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  407.             .addGroup(runLottoPanelLayout.createSequentialGroup()
  408.                 .addContainerGap()
  409.                 .addComponent(runLotto)
  410.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  411.         );
  412.  
  413.         listPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  414.  
  415.         listTickets.setColumns(20);
  416.         listTickets.setRows(5);
  417.         listScrollPane.setViewportView(listTickets);
  418.  
  419.         javax.swing.GroupLayout listPanelLayout = new javax.swing.GroupLayout(listPanel);
  420.         listPanel.setLayout(listPanelLayout);
  421.         listPanelLayout.setHorizontalGroup(
  422.             listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  423.             .addGroup(listPanelLayout.createSequentialGroup()
  424.                 .addContainerGap()
  425.                 .addComponent(listScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
  426.                 .addContainerGap())
  427.         );
  428.         listPanelLayout.setVerticalGroup(
  429.             listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  430.             .addGroup(listPanelLayout.createSequentialGroup()
  431.                 .addContainerGap()
  432.                 .addComponent(listScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 212, Short.MAX_VALUE)
  433.                 .addContainerGap())
  434.         );
  435.  
  436.         winnerPanel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  437.  
  438.         javax.swing.GroupLayout winnerPanelLayout = new javax.swing.GroupLayout(winnerPanel);
  439.         winnerPanel.setLayout(winnerPanelLayout);
  440.         winnerPanelLayout.setHorizontalGroup(
  441.             winnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  442.             .addGap(0, 163, Short.MAX_VALUE)
  443.         );
  444.         winnerPanelLayout.setVerticalGroup(
  445.             winnerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  446.             .addGap(0, 45, Short.MAX_VALUE)
  447.         );
  448.  
  449.         javax.swing.GroupLayout resultPanelLayout = new javax.swing.GroupLayout(resultPanel);
  450.         resultPanel.setLayout(resultPanelLayout);
  451.         resultPanelLayout.setHorizontalGroup(
  452.             resultPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  453.             .addGroup(resultPanelLayout.createSequentialGroup()
  454.                 .addContainerGap()
  455.                 .addGroup(resultPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  456.                     .addComponent(runLottoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  457.                     .addComponent(winnerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  458.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  459.                 .addComponent(listPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  460.                 .addContainerGap())
  461.         );
  462.  
  463.         resultPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {runLottoPanel, winnerPanel});
  464.  
  465.         resultPanelLayout.setVerticalGroup(
  466.             resultPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  467.             .addGroup(resultPanelLayout.createSequentialGroup()
  468.                 .addContainerGap()
  469.                 .addGroup(resultPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  470.                     .addComponent(listPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  471.                     .addGroup(resultPanelLayout.createSequentialGroup()
  472.                         .addComponent(runLottoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  473.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  474.                         .addComponent(winnerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  475.                         .addGap(0, 0, Short.MAX_VALUE)))
  476.                 .addContainerGap())
  477.         );
  478.  
  479.         resultPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {runLottoPanel, winnerPanel});
  480.  
  481.         mainTabbedPane.addTab("Result", resultPanel);
  482.  
  483.         options.setText("Options");
  484.         topMenuBar.add(options);
  485.  
  486.         setJMenuBar(topMenuBar);
  487.  
  488.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  489.         getContentPane().setLayout(layout);
  490.         layout.setHorizontalGroup(
  491.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  492.             .addComponent(mainTabbedPane)
  493.         );
  494.         layout.setVerticalGroup(
  495.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  496.             .addComponent(mainTabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
  497.         );
  498.  
  499.         pack();
  500.         setLocationRelativeTo(null);
  501.     }// </editor-fold>                        
  502.  
  503.     private void numberButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  504.         addNumber(1);
  505.     }                                            
  506.  
  507.     private void numberButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  508.         addNumber(2);
  509.     }                                            
  510.  
  511.     private void numberButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  512.         addNumber(3);
  513.     }                                            
  514.  
  515.     private void numberButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  516.         addNumber(4);
  517.     }                                            
  518.  
  519.     private void numberButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  520.         addNumber(5);
  521.     }                                            
  522.  
  523.     private void numberButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  524.         addNumber(6);
  525.     }                                            
  526.  
  527.     private void numberButton7ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  528.         addNumber(7);
  529.     }                                            
  530.  
  531.     private void numberButton8ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  532.         addNumber(8);
  533.     }                                            
  534.  
  535.     private void numberButton9ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  536.         addNumber(9);
  537.     }                                            
  538.  
  539.     private void numberButton10ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  540.         addNumber(10);
  541.     }                                              
  542.  
  543.     private void numberButton11ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  544.         addNumber(11);
  545.     }                                              
  546.  
  547.     private void numberButton12ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  548.         addNumber(12);
  549.     }                                              
  550.  
  551.     private void numberButton13ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  552.         addNumber(13);
  553.     }                                              
  554.  
  555.     private void numberButton14ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  556.         addNumber(14);
  557.     }                                              
  558.  
  559.     private void numberButton15ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  560.         addNumber(15);
  561.     }                                              
  562.  
  563.     private void numberButton16ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  564.         addNumber(16);
  565.     }                                              
  566.  
  567.     private void numberButton17ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  568.         addNumber(17);
  569.     }                                              
  570.  
  571.     private void numberButton18ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  572.         addNumber(18);
  573.     }                                              
  574.  
  575.     private void numberButton19ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  576.         addNumber(19);
  577.     }                                              
  578.  
  579.     private void numberButton20ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  580.         addNumber(20);
  581.     }                                              
  582.  
  583.     private void numberButton21ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  584.         addNumber(21);
  585.     }                                              
  586.  
  587.     private void numberButton22ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  588.         addNumber(22);
  589.     }                                              
  590.  
  591.     private void numberButton23ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  592.         addNumber(23);
  593.     }                                              
  594.  
  595.     private void numberButton24ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  596.         addNumber(24);
  597.     }                                              
  598.  
  599.     private void numberButton25ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  600.         addNumber(25);
  601.     }                                              
  602.  
  603.     private void numberButton26ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  604.         addNumber(26);
  605.     }                                              
  606.  
  607.     private void numberButton27ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  608.         addNumber(27);
  609.     }                                              
  610.  
  611.     private void numberButton28ActionPerformed(java.awt.event.ActionEvent evt) {                                              
  612.         addNumber(28);
  613.     }                                              
  614.  
  615.     private void quickPickButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                
  616.         numbersTextField.setText("");
  617.        
  618.         //Following block is used because the user may have already selected "X" amount of number/s and then decided to use quick pick
  619.         if (ticketNumbers.size() == 0) {
  620.             for(int i = 0; i < 4; i++) {
  621.                 ticketNumbers.add(randInt());
  622.             }    
  623.         } else if (ticketNumbers.size() == 1) {
  624.             ticketNumbers.set(0, randInt());
  625.             ticketNumbers.add(randInt());
  626.             ticketNumbers.add(randInt());
  627.             ticketNumbers.add(randInt());  
  628.         } else if (ticketNumbers.size() == 2) {
  629.             ticketNumbers.set(0, randInt());
  630.             ticketNumbers.set(1, randInt());
  631.             ticketNumbers.add(randInt());
  632.             ticketNumbers.add(randInt());
  633.         } else if (ticketNumbers.size() == 3) {
  634.             ticketNumbers.set(0, randInt());
  635.             ticketNumbers.set(1, randInt());
  636.             ticketNumbers.set(2, randInt());
  637.             ticketNumbers.add(randInt());
  638.         } else if (ticketNumbers.size() == 4) {
  639.             for(int i = 0; i < 4; i++) {
  640.                 ticketNumbers.set(i, randInt());
  641.             }    
  642.         }
  643.        
  644.         numbersTextField.setText(ticketNumbers.toString());
  645.     }                                              
  646.  
  647.     private void enterLottoButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                
  648.         if (nameInput.getText().equalsIgnoreCase("")) {
  649.             JOptionPane.showMessageDialog(null, "Please Enter Your Name", "Error", JOptionPane.ERROR_MESSAGE);
  650.         } else if (ticketNumbers.size() < 4) {
  651.             JOptionPane.showMessageDialog(null, "Please Enter Four Numbers", "Error", JOptionPane.ERROR_MESSAGE);
  652.         } else {
  653.             ticketList.add(new Ticket(ticketNumbers, nameInput.getText()));
  654.            
  655.             JOptionPane.showMessageDialog(null, "You Successfully Entered! \n\nName: " + nameInput.getText() + "\nNumbers: " + ticketNumbers.toString());
  656.            
  657.             ticketNumbers.clear();
  658.             numbersTextField.setText("");
  659.             nameInput.setText("");    
  660.             numberOfPeopleLabel.setText("           People Entered: " + ticketList.size());
  661.         }
  662.     }                                                
  663.  
  664.     private void undoButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
  665.         try {
  666.             ticketNumbers.remove(ticketNumbers.size() - 1);
  667.         } catch (IndexOutOfBoundsException e) {
  668.             JOptionPane.showMessageDialog(null, "You Haven't Entered Any Numbers", "Error", JOptionPane.ERROR_MESSAGE);
  669.         }
  670.        
  671.         numbersTextField.setText(ticketNumbers.toString());
  672.     }                                          
  673.  
  674.     private void mainTabbedPaneMouseClicked(java.awt.event.MouseEvent evt) {                                            
  675.         String output = "";
  676.        
  677.         for(int i = 0; i < ticketList.size(); i++) {            
  678.             output += ticketList.get(i).toString();
  679.         }  
  680.        
  681.         listTickets.setText(output);
  682.        
  683.         //Test Output
  684.         System.out.print(output);
  685.        
  686.         System.out.print(ticketList.get(0).getTicketNumbers());
  687.        
  688.     }                                          
  689.  
  690.     public void addNumber(int number) {
  691.         if(ticketNumbers.size() < 4) {
  692.             ticketNumbers.add(number);
  693.         } else if (ticketNumbers.size() >= 4) {
  694.             JOptionPane.showMessageDialog(null, "You May Only Enter Four Numbers", "Error", JOptionPane.ERROR_MESSAGE);
  695.         }
  696.        
  697.         numbersTextField.setText(ticketNumbers.toString());
  698.     }
  699.    
  700.     public static int randInt() {
  701.         Random rand = new Random();
  702.  
  703.         int randomNum = rand.nextInt((28 - 1) + 1) + 1;
  704.  
  705.         return randomNum;
  706.     }
  707.    
  708.     public static void main(String args[]) {
  709.         /* Set the Nimbus look and feel */
  710.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  711.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  712.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  713.          */
  714.         try {
  715.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  716.                 if ("Nimbus".equals(info.getName())) {
  717.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  718.                     break;
  719.                 }
  720.             }
  721.         } catch (ClassNotFoundException ex) {
  722.             java.util.logging.Logger.getLogger(LottoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  723.         } catch (InstantiationException ex) {
  724.             java.util.logging.Logger.getLogger(LottoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  725.         } catch (IllegalAccessException ex) {
  726.             java.util.logging.Logger.getLogger(LottoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  727.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  728.             java.util.logging.Logger.getLogger(LottoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  729.         }
  730.         //</editor-fold>
  731.         //</editor-fold>
  732.  
  733.         /* Create and display the form */
  734.         java.awt.EventQueue.invokeLater(new Runnable() {
  735.             public void run() {
  736.                 new LottoGUI().setVisible(true);
  737.             }
  738.         });
  739.     }
  740.  
  741.     // Variables declaration - do not modify                    
  742.     private javax.swing.JPanel choicePanel;
  743.     private javax.swing.JButton enterLottoButton;
  744.     private javax.swing.JPanel enterPanel;
  745.     private javax.swing.JPanel listPanel;
  746.     private javax.swing.JScrollPane listScrollPane;
  747.     private javax.swing.JTextArea listTickets;
  748.     private javax.swing.JTabbedPane mainTabbedPane;
  749.     private javax.swing.JPanel nameAndNumbersPanel;
  750.     private javax.swing.JTextField nameInput;
  751.     private javax.swing.JLabel nameLabel;
  752.     private javax.swing.JButton numberButton1;
  753.     private javax.swing.JButton numberButton10;
  754.     private javax.swing.JButton numberButton11;
  755.     private javax.swing.JButton numberButton12;
  756.     private javax.swing.JButton numberButton13;
  757.     private javax.swing.JButton numberButton14;
  758.     private javax.swing.JButton numberButton15;
  759.     private javax.swing.JButton numberButton16;
  760.     private javax.swing.JButton numberButton17;
  761.     private javax.swing.JButton numberButton18;
  762.     private javax.swing.JButton numberButton19;
  763.     private javax.swing.JButton numberButton2;
  764.     private javax.swing.JButton numberButton20;
  765.     private javax.swing.JButton numberButton21;
  766.     private javax.swing.JButton numberButton22;
  767.     private javax.swing.JButton numberButton23;
  768.     private javax.swing.JButton numberButton24;
  769.     private javax.swing.JButton numberButton25;
  770.     private javax.swing.JButton numberButton26;
  771.     private javax.swing.JButton numberButton27;
  772.     private javax.swing.JButton numberButton28;
  773.     private javax.swing.JButton numberButton3;
  774.     private javax.swing.JButton numberButton4;
  775.     private javax.swing.JButton numberButton5;
  776.     private javax.swing.JButton numberButton6;
  777.     private javax.swing.JButton numberButton7;
  778.     private javax.swing.JButton numberButton8;
  779.     private javax.swing.JButton numberButton9;
  780.     private javax.swing.JLabel numberOfPeopleLabel;
  781.     private javax.swing.JPanel numberPanel;
  782.     private javax.swing.JLabel numbersLabel;
  783.     private javax.swing.JTextField numbersTextField;
  784.     private javax.swing.JMenu options;
  785.     private javax.swing.JPanel peopleEnteredPanel;
  786.     private javax.swing.JButton quickPickButton;
  787.     private javax.swing.JPanel resultPanel;
  788.     private javax.swing.JButton runLotto;
  789.     private javax.swing.JPanel runLottoPanel;
  790.     private javax.swing.JMenuBar topMenuBar;
  791.     private javax.swing.JButton undoButton;
  792.     private javax.swing.JPanel winnerPanel;
  793.     // End of variables declaration                  
  794. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement