/Users/johnr/Desktop/IA_14_-_Stage_P_Upload_all_2021-04-08/MyFirstGUIProject - Daniel/src/main/java/com/mycompany/myfirstguiproject/MainGUI.java |
1
2
3
4
5
6 package com.mycompany.myfirstguiproject;
7
8 import static com.sun.java.accessibility.util.AWTEventMonitor.addActionListener;
9 import java.awt.AWTException;
10 import java.awt.Color;
11 import java.awt.Container;
12 import java.awt.Dimension;
13 import java.awt.Font;
14 import java.awt.Graphics;
15 import java.awt.GridBagLayout;
16 import java.awt.GridLayout;
17 import java.awt.LayoutManager;
18 import java.awt.List;
19 import java.awt.Point;
20 import java.awt.event.ActionEvent;
21 import java.awt.event.ActionListener;
22 import java.awt.event.KeyEvent;
23 import java.awt.event.MouseEvent;
24 import java.awt.event.MouseListener;
25 import java.awt.image.ColorModel;
26 import java.io.BufferedReader;
27 import java.io.FileNotFoundException;
28 import java.io.FileReader;
29 import java.io.FileWriter;
30 import java.io.IOException;
31 import java.util.ArrayList;
32 import java.util.Date;
33 import java.util.LinkedList;
34 import java.util.StringTokenizer;
35 import java.util.concurrent.TimeUnit;
36 import java.util.logging.Level;
37 import java.util.logging.Logger;
38 import javax.swing.AbstractButton;
39 import javax.swing.ButtonModel;
40 import javax.swing.DefaultListModel;
41 import javax.swing.JButton;
42 import javax.swing.JFrame;
43 import javax.swing.JLabel;
44 import javax.swing.JOptionPane;
45 import javax.swing.JPanel;
46 import javax.swing.JSpinner.DefaultEditor;
47 import javax.swing.JTable;
48 import javax.swing.JToggleButton;
49 import javax.swing.ListSelectionModel;
50 import javax.swing.SwingConstants;
51 import javax.swing.UIManager;
52 import javax.swing.UnsupportedLookAndFeelException;
53 import javax.swing.event.ChangeListener;
54 import javax.swing.plaf.basic.BasicToggleButtonUI;
55 import javax.swing.table.DefaultTableModel;
56 import org.openqa.selenium.Keys;
57 import org.openqa.selenium.WebDriver;
58 import org.openqa.selenium.chrome.ChromeDriver;
59
60
61
62 @author
63
64 public class MainGUI extends javax.swing.JFrame implements ActionListener{
65
66 public void fileWriterAndReaderMainMethod(boolean isWritingNotReading) throws IOException{
67 if(isWritingNotReading){
68 fwStudents();
69 fwSongs();
70 fwClasses();
71 fwGridFormations();
72 }
73 else{
74 frStudents();
75 frSongs();
76 frClasses();
77 frGridFormations();
78 }
79 }
80
81 public void fwStudents(){
82 try {
83 FileWriter fw = new FileWriter("Students.txt");
84 for(int i = 0; i < students.size(); i++){
85 fw.write(students.get(i).getName());
86 fw.write(":");
87 fw.write(students.get(i).getEmail());
88 fw.write(":");
89 fw.write(students.get(i).getLocation());
90 fw.write(":");
91 fw.write(students.get(i).getTimeZone());
92 fw.write(":");
93 fw.write(students.get(i).getPhoneNumber());
94 fw.write(":");
95 fw.write(students.get(i).getNotes());
96 fw.write(":");
97 }
98 fw.close();
99 } catch (IOException ex) {
100 ex.printStackTrace();
101 }
102
103 }
104 public void frStudents() throws IOException{
105 try {
106 BufferedReader br = new BufferedReader(new FileReader("Students.txt"));
107 String fileReadIn = br.readLine();
108 if(fileReadIn==null){
109 System.out.println("No students to read just yet...");
110 }else{
111 StringTokenizer st = new StringTokenizer(fileReadIn, ":");
112 while(st.hasMoreTokens()){
113 students.add(new Student(st.nextToken(), st.nextToken(), st.nextToken(), st.nextToken(), st.nextToken(), st.nextToken()));
114 }
115 refreshStudentTable();
116 refreshExistingStudentTable();
117 String [] studentsArray = new String[students.size()+1];
118 studentsArray[0] = "Choose Student to Add Song";
119 for(int i = 1; i < studentsArray.length; i++){
120 studentsArray[i] = students.get(i-1).getName();
121 }
122 AddSongToStudentCB.setModel(new javax.swing.DefaultComboBoxModel(studentsArray));
123 }
124 } catch (FileNotFoundException ex) {
125 ex.printStackTrace();
126 }
127
128 }
129 public void fwSongs(){
130 try {
131 FileWriter fw = new FileWriter("Songs.txt");
132 for(int i = 0; i < songs.size(); i++){
133 fw.write(songs.get(i).getSongName());
134 fw.write(":");
135 fw.write(songs.get(i).getMovieName());
136 fw.write(":");
137 fw.write(String.valueOf(songs.get(i).getSongBPM()));
138 fw.write(":");
139 fw.write(songs.get(i).getDateOfPerformance());
140 fw.write(":");
141 for(int j = 0; j < songs.get(i).getCompletedStudents().size(); j++){
142 fw.write("[" +songs.get(i).getCompletedStudents().get(j).getName());
143 fw.write(":");
144 }
145 }
146 fw.close();
147 } catch (IOException ex) {
148 ex.printStackTrace();
149 }
150 }
151 String nextName = "";
152 int count = 0;
153 public void frSongs() throws IOException{
154 try {
155 BufferedReader br = new BufferedReader(new FileReader("Songs.txt"));
156 String fileReadIn = br.readLine();
157 if(fileReadIn == null){
158 System.out.println("No songs to read just yet...");
159 }else{
160 StringTokenizer st = new StringTokenizer(fileReadIn, ":");
161 while(st.hasMoreTokens()){
162 String name;
163 if(!nextName.equals("") && count > 0){
164 name = nextName;
165 nextName = "";
166 }else{
167 name = st.nextToken();
168 count++;
169 }
170 String movieName = st.nextToken();
171 int BPM = Integer.parseInt(st.nextToken());
172 String date = st.nextToken();
173 ArrayList<Student> privateStudents = new ArrayList<Student>();
174 boolean moreStudents = true;
175 while(moreStudents && st.hasMoreTokens()){
176 String unsureToken = st.nextToken();
177 if(unsureToken.charAt(0) == '['){
178 for(int k = 0; k < students.size(); k++){
179 if(unsureToken.substring(1).equals(students.get(k).getName())){
180 privateStudents.add(students.get(k));
181 }
182 }
183 }
184 else{
185 moreStudents = false;
186 nextName = unsureToken;
187 }
188 }
189 songs.add(new Song(name, movieName, BPM, date, privateStudents));
190 }
191 refreshSongTable();
192 String [] songsArray = new String[songs.size()+1];
193 songsArray[0] = "Choose Song";
194 for(int i = 1; i < songsArray.length; i++){
195 songsArray[i] = songs.get(i-1).getSongName();
196 }
197 ClassSongCB.setModel(new javax.swing.DefaultComboBoxModel(songsArray));
198 SongsForStudentsCB.setModel(new javax.swing.DefaultComboBoxModel(songsArray));
199 }
200 } catch (FileNotFoundException ex) {
201 ex.printStackTrace();
202 }
203
204 }
205 public void fwClasses(){
206 try {
207 FileWriter fw = new FileWriter("BollywoodClasses.txt");
208 for(int i = 0; i < classes.size(); i++){
209 fw.write(classes.get(i).getClassName());
210 fw.write(":");
211 fw.write(classes.get(i).getClassLocation());
212 fw.write(":");
213 fw.write(classes.get(i).getClassDate());
214 fw.write(":");
215 fw.write(classes.get(i).getClassSong());
216 fw.write(":");
217 fw.write(classes.get(i).getInPersonOrZoom());
218 fw.write(":");
219 }
220 fw.close();
221 } catch (IOException ex) {
222 ex.printStackTrace();
223 }
224 }
225 public void frClasses(){
226 try {
227 BufferedReader br = new BufferedReader(new FileReader("BollywoodClasses.txt"));
228 String fileReadIn = br.readLine();
229 if(fileReadIn==null){
230 System.out.println("No classes to read just yet...");
231 }else{
232 StringTokenizer st = new StringTokenizer(fileReadIn, ":");
233 while(st.hasMoreTokens()){
234 classes.add(new BollywoodClass(st.nextToken(), st.nextToken(), st.nextToken(), st.nextToken(), st.nextToken()));
235 }
236 }
237 refreshClassTable();
238 String [] classDateArray = new String[classes.size()];
239 for(int i = 0; i < classDateArray.length; i++){
240 classDateArray[i] = classes.get(i).getClassDate();
241 }
242 ClassDateCB.setModel(new javax.swing.DefaultComboBoxModel(classDateArray));
243 } catch (IOException ex) {
244 Logger.getLogger(MainGUI.class.getName()).log(Level.SEVERE, null, ex);
245 }
246 }
247 public void fwGridFormations(){
248 try {
249 FileWriter fw = new FileWriter("Formations.txt");
250 for(int i = 0; i < formations.size(); i++){
251 fw.write(String.valueOf(formations.get(i).size()));
252 fw.write(":");
253 for(int j = 0; j < formations.get(i).size(); j++){
254 fw.write(formations.get(i).get(j).toString());
255 fw.write(":");
256 }
257 }
258 fw.close();
259 } catch (IOException ex) {
260 ex.printStackTrace();
261 }
262 }
263 public void frGridFormations() throws IOException{
264 try {
265 BufferedReader br = new BufferedReader(new FileReader("Formations.txt"));
266 String fileReadIn = br.readLine();
267 if(fileReadIn==null){
268 System.out.println("No formations to read just yet...");
269 }else{
270 StringTokenizer st = new StringTokenizer(fileReadIn, ":");
271 while(st.hasMoreTokens()){
272 int formationSize = Integer.parseInt(st.nextToken());
273 LinkedList<String> privateButtonList = new LinkedList<String>();
274 for (int i = 0; i < formationSize; i++){
275 privateButtonList.add(st.nextToken());
276 }
277 formations.add(privateButtonList);
278 }
279 }
280 } catch (FileNotFoundException ex) {
281 ex.printStackTrace();
282 }
283
284 }
285
286 private static int numOfTotalRespondents = 0;
287 private static int createdGridAlready = 0;
288 public int numOfStudentsGrid = 0;
289 private int triesToEnter = 0;
290
291
292
293 public static int respondentsTotal = 0;
294
295 private ArrayList<Integer> found = new ArrayList<Integer>();
296 public LinkedList<String> selectedGridButtonList = new LinkedList<String>();
297 public static JButton[][] jbuttongrid = new JButton[15][15];
298 public static JToggleButton[][] jtogglegrid = new JToggleButton[15][15];
299 private ArrayList<LinkedList> formations = new ArrayList<LinkedList>();
300 private ArrayList<Student> students = new ArrayList<Student>();
301 public static ArrayList<Song> songs = new ArrayList<Song>();
302 private ArrayList<BollywoodClass> classes = new ArrayList<BollywoodClass>();
303 public static MainGUI mainGUI = new MainGUI();
304 public Integer colGrid = 0;
305 public Integer rowGrid = 0;
306
307
308
309 public MainGUI() {
310 initComponents();
311 try {
312 myInit();
313 } catch (IOException ex) {
314 ex.printStackTrace();
315 }
316
317 }
318
319 public void createGrid(){
320 while(GridPanel.getComponentCount()!=0)
321 GridPanel.remove(0);
322 GridPanel.setLayout(new GridLayout(15,15));
323 addButtons(GridPanel);
324 }
325
326
327 public void addButtons(Container container){
328 createdGridAlready++;
329 if(createdGridAlready < 2){
330 for(int row = 0; row < 15; row++){
331 for(int col = 0; col < 15; col++){
332 jtogglegrid[row][col] = new JToggleButton();
333
334 jtogglegrid[row][col].setPreferredSize(new Dimension(40,40));
335 jtogglegrid[row][col].setMaximumSize(new Dimension(40,40));
336 jtogglegrid[row][col].setMinimumSize(new Dimension(40,40));
337 jtogglegrid[row][col].addActionListener(this);
338
339 container.add(jtogglegrid[row][col]);
340
341
342 }
343 }
344 }
345 }
346
347 @Override
348 public void actionPerformed(ActionEvent e) {
349 boolean selected = true;
350 for(Integer j = 0; j < 15; j++){
351 for(Integer k = 0; k < 15; k++){
352 if (e.getSource() == jtogglegrid[j][k]){
353 if(selectedGridButtonList.size()>0){
354 for(int check = 0; check < selectedGridButtonList.size(); check++){
355 if(selectedGridButtonList.get(check).equals(j.toString() + "," + k.toString())){
356 selectedGridButtonList.remove(check);
357 System.out.println("Element is Removed");
358 selected = false;
359 }
360 }
361 }
362 else if(selectedGridButtonList.isEmpty()){
363 selectedGridButtonList.add(j.toString() + "," + k.toString());
364 System.out.println(selectedGridButtonList.getLast());
365 System.out.println("First Element is Added");
366 selected = false;
367 }
368 if(selected){
369 selectedGridButtonList.add(j.toString() + "," + k.toString());
370 System.out.println(selectedGridButtonList.getLast());
371 System.out.println("Element is added");
372 }
373 }
374 }
375 }
376 }
377
378 public String getMonthAndDay(Date date){
379 String month = "";
380 switch(date.getMonth()){
381 case 0:
382 month = "Jan";
383 break;
384 case 1:
385 month = "Feb";
386 break;
387 case 2:
388 month = "Mar";
389 break;
390 case 3:
391 month = "Apr";
392 break;
393 case 4:
394 month = "May";
395 break;
396 case 5:
397 month = "Jun";
398 break;
399 case 6:
400 month = "Jul";
401 break;
402 case 7:
403 month = "Aug";
404 break;
405 case 8:
406 month = "Sep";
407 break;
408 case 9:
409 month = "Oct";
410 break;
411 case 10:
412 month = "Nov";
413 break;
414 case 11:
415 month = "Dec";
416 break;
417 }
418 return month + " " + date.getDate();
419 }
420
421 public void myInit() throws IOException{
422 RemoveButton.setVisible(false);
423 SendEmailButton.setVisible(false);
424 ConfirmRemoveCB.setVisible(false);
425 GridPanel.setVisible(true);
426 createGrid();
427 AllLabel.setVisible(false);
428 danceFormationSaveButton.setVisible(true);
429 NumberOfStudentsLabel.setVisible(false);
430 NumberOfStudentsSpinner.setVisible(false);
431 prevButton.setVisible(false);
432 nextButton.setVisible(false);
433 jLabel8.setVisible(false);
434 jLabel10.setVisible(false);
435 AddSongToStudentCB.setVisible(false);
436 AddSongToStudentButton.setVisible(false);
437 FormationsLabel.setHorizontalAlignment(SwingConstants.CENTER);
438 RemoveButton1.setVisible(false);
439 ConfirmRemoveCB1.setVisible(false);
440 fileWriterAndReaderMainMethod(false);
441 }
442 public Thread threadProgressBar() {
443 Thread t1 = new Thread(() -> {
444 ExtractionProgressBar.setMaximum(respondentsTotal);
445 while(ExtractionProgressBar.getValue() != ExtractionProgressBar.getMaximum()){
446
447 ExtractionProgressBar.setValue(EmailAutomation.progressCounter);
448 System.out.println("Max: " + respondentsTotal);
449 System.out.println("Current: " + EmailAutomation.emails.getSize());
450 try {
451 TimeUnit.SECONDS.sleep(1);
452 } catch (InterruptedException ex) {
453 ex.printStackTrace();
454 }
455 }
456 });
457 return t1;
458 }
459
460 public void refreshStudentTable(){
461 DefaultTableModel dtm1 = (DefaultTableModel) ListOfStudentsT.getModel();
462 while(dtm1.getRowCount() != 0)
463 dtm1.removeRow(0);
464 for(int row = 0; row < students.size(); row++){
465 dtm1.addRow(new Object[]{students.get(row).getName(), students.get(row).getEmail(), students.get(row).getLocation(), students.get(row).getPhoneNumber(), students.get(row).getTimeZone(), students.get(row).getNotes()});
466 }
467 }
468
469 public void refreshExistingStudentTable(){
470 DefaultTableModel dtm = (DefaultTableModel) ListOfExistingStudentsT.getModel();
471 while(dtm.getRowCount() != 0)
472 dtm.removeRow(0);
473 for(int row = 0; row < students.size(); row++){
474 dtm.addRow(new Object[]{students.get(row).getName(), students.get(row).getEmail(), students.get(row).getTimeZone()});
475 }
476 }
477
478 public void refreshSongTable(){
479 DefaultTableModel dtm2 = (DefaultTableModel) ListOfSongsT.getModel();
480 while(dtm2.getRowCount() != 0)
481 dtm2.removeRow(0);
482 for(int row = 0; row < songs.size(); row++){
483 dtm2.addRow(new Object[]{songs.get(row).getSongName(), songs.get(row).getMovieName(), songs.get(row).getSongBPM(),songs.get(row).getDateOfPerformance()});
484 }
485 }
486 public void refreshClassTable(){
487 DefaultTableModel dtm3 = (DefaultTableModel) ListOfClassesT.getModel();
488 while(dtm3.getRowCount() != 0)
489 dtm3.removeRow(0);
490 for(int row = 0; row < classes.size(); row++){
491 dtm3.addRow(new Object[]{classes.get(row).getClassName(), classes.get(row).getClassLocation(), classes.get(row).getClassDate(),classes.get(row).getClassSong(),classes.get(row).getInPersonOrZoom()});
492 }
493 }
494
495 public boolean correctStudentInfo(){
496 if(StudentNameTF.getText().length() < 2){
497 JOptionPane.showMessageDialog(this, "The Student Name must be filled and at least 2 characters long. Please re-enter the following information", "Error Message", HEIGHT);
498 return false;
499 }
500 else if(StudentNameTF.getText().length() > 30){
501 triesToEnter++;
502 JOptionPane.showMessageDialog(this, "The student name seems a bit long... Consider editing it by only writing a first name", "Warning Message", HEIGHT);
503 return false;
504 }
505 if(StudentEmailTF.getText().equals("")){
506 JOptionPane.showMessageDialog(this, "Please make sure the student email is not left blank", "Error Message", HEIGHT);
507 return false;
508 }
509 if(!StudentEmailTF.getText().substring(StudentEmailTF.getText().length()-4).equals(".com") && triesToEnter == 0){
510 triesToEnter++;
511 JOptionPane.showMessageDialog(this, "Please check to make sure the email is valid before re-entering", "Warning Message", HEIGHT);
512 return false;
513 }
514 if(StudentPhoneNumberTF.getText().substring(0, 1).equals("0") && triesToEnter == 0){
515 triesToEnter++;
516 JOptionPane.showMessageDialog(this, "We reccomend that you add the country code to the phone number!", "Warning Message", HEIGHT);
517 return false;
518 }
519 if(StudentPhoneNumberTF.getText().length() < 7 || StudentPhoneNumberTF.getText().length() > 15){
520 JOptionPane.showMessageDialog(this, "Please make sure the phone number is in between 7 and 15 characters, inclusive", "Error Message", HEIGHT);
521 return false;
522 }
523 if(!StudentTimeZoneTF.getText().substring(0, 3).equalsIgnoreCase("GMT") && triesToEnter==0){
524 triesToEnter++;
525 JOptionPane.showMessageDialog(this, "Please make sure you are using the correct timezone format: GMT", "Error Message", HEIGHT);
526 return false;
527 }
528 return (StudentNameTF.getText().length() > 2 && StudentNameTF.getText().length() < 30 && !StudentEmailTF.getText().equals("") && StudentEmailTF.getText().substring(StudentEmailTF.getText().length()-4).equals(".com") && !StudentPhoneNumberTF.getText().substring(0, 1).equals("0") && StudentPhoneNumberTF.getText().length() > 7 && StudentPhoneNumberTF.getText().length() < 15) || triesToEnter > 0;
529 }
530
531 public boolean correctSongInfo(){
532 if(triesToEnter > 0){
533 return true;
534 }
535 else if(SongNameTF.getText().equals("")){
536 JOptionPane.showMessageDialog(this, "You must input a song name in the corresponding text-field", "Error Message", HEIGHT);
537 return false;
538 }
539 else if(!isNumeric()){
540 JOptionPane.showMessageDialog(this, "Please input an integer for the Song BPM", "Error Message", HEIGHT);
541 return false;
542 }
543 else if(MovieNameTF.getText().length() < 30 && SongNameTF.getText().length() < 30){
544 return true;
545 }
546 else{
547 JOptionPane.showMessageDialog(this, "Make sure your inputs arent too long... Re-enter the song information" ,"Warning Message" ,HEIGHT);
548 return false;
549 }
550 }
551
552 public boolean isNumeric(){
553
554 if (SongBPMTF.getText() == null) {
555 return false;
556 }
557 try{
558 int d = Integer.parseInt(SongBPMTF.getText());
559 }
560 catch (NumberFormatException nfe){
561 return false;
562 }
563 return true;
564 }
565
566 public void makeListEmpty(JTable table){
567 for(int row = 0; row < table.getRowCount(); row++){
568 for(int col = 0; col < table.getColumnCount(); col++){
569 table.setValueAt("", row, col);
570 }
571 }
572 }
573
574 public String inPersonOrZoom(){
575 if(InPersonCB.isSelected()){
576 if(ZoomCB.isSelected()){
577 return "In Person and On Zoom";
578 }else{
579 return "In Person";
580 }
581 }
582 else if(ZoomCB.isSelected()){
583 return "On Zoom";
584 }
585 return "N/A";
586 }
587
588 public boolean correctClassInfo(){
589 if(!InPersonCB.isSelected() && !ZoomCB.isSelected()){
590 JOptionPane.showMessageDialog(this, "Please select either In-person or Zoom class in order to input a new class", "Error Message", HEIGHT);
591 return false;
592 }
593 if(ClassLocationTF.getText().equals("") ||ClassNameTF.getText().equals("")){
594 JOptionPane.showMessageDialog(this, "The class name and location text-fields cannot be left blank for input", "Error Message", HEIGHT);
595 return false;
596 }
597 if(getMonthAndDay(ClassDateChooser.getDate()).equalsIgnoreCase("")){
598 JOptionPane.showMessageDialog(this, "Please make sure the date of the class is being inputted", "Error Message", HEIGHT);
599 }
600 if(ClassSongCB.getSelectedIndex() == -1 || ClassSongCB.getSelectedItem().toString().equals("Choose Song")){
601 JOptionPane.showMessageDialog(this, "Please input a song as part of the information about the class", "Error Message", HEIGHT);
602 return false;
603 }
604 else{
605 return true;
606 }
607 }
608
609
610 This method is called from within the constructor to initialize the form.
611
612
613
Netbeans auto-generated GUI code pasted at the bottom of this file.
1688
1689 private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
1690
1691 System.exit(0);
1692 }
1693
1694 private void CreateOrChooseExisitingTBActionPerformed(java.awt.event.ActionEvent evt) {
1695
1696 if(CreateOrChooseExisitingTB.isSelected()){
1697 CreateOrChooseExisitingTB.setText("Choose an Existing Dance Formation");
1698 }
1699 else{
1700 CreateOrChooseExisitingTB.setText("Create a New Dance Formation");
1701 }
1702 }
1703
1704 private void SongBPMTFActionPerformed(java.awt.event.ActionEvent evt) {
1705
1706 }
1707
1708 private void StudentPhoneNumberTFActionPerformed(java.awt.event.ActionEvent evt) {
1709
1710 }
1711
1712 private void StudentTimeZoneTFActionPerformed(java.awt.event.ActionEvent evt) {
1713
1714 }
1715
1716 private void MovieNameTFActionPerformed(java.awt.event.ActionEvent evt) {
1717
1718 }
1719
1720 private void InputSongOKButtonMouseReleased(java.awt.event.MouseEvent evt) {
1721
1722
1723 if(correctSongInfo()){
1724 triesToEnter = 0;
1725 songs.add(new Song(SongNameTF.getText(), MovieNameTF.getText(), Integer.parseInt(SongBPMTF.getText()), getMonthAndDay(DateOfPerformanceChooser.getDate()), new ArrayList<Student>()));
1726 String [] songsArray = new String[songs.size()+1];
1727 songsArray[0] = "Choose Song";
1728 for(int i = 1; i < songsArray.length; i++){
1729 songsArray[i] = songs.get(i-1).getSongName();
1730 }
1731 ClassSongCB.setModel(new javax.swing.DefaultComboBoxModel(songsArray));
1732 SongsForStudentsCB.setModel(new javax.swing.DefaultComboBoxModel(songsArray));
1733
1734 }
1735 refreshSongTable();
1736
1737 }
1738
1739 private void SongNameTFActionPerformed(java.awt.event.ActionEvent evt) {
1740
1741 }
1742
1743 private void StudentLocationTFActionPerformed(java.awt.event.ActionEvent evt) {
1744
1745 }
1746
1747 private void StudentEmailTFActionPerformed(java.awt.event.ActionEvent evt) {
1748
1749 }
1750
1751 private void StudentNameTFActionPerformed(java.awt.event.ActionEvent evt) {
1752
1753 }
1754
1755 private void StudentNameTFMouseReleased(java.awt.event.MouseEvent evt) {
1756
1757 StudentNameTF.setText("");
1758 StudentNameTF.setForeground(Color.BLACK);
1759 }
1760
1761 private void InputStudentOKButtonMouseReleased(java.awt.event.MouseEvent evt) {
1762
1763 String phoneNumber;
1764 if(correctStudentInfo()){
1765 triesToEnter = 0;
1766 students.add(new Student(StudentNameTF.getText(), StudentEmailTF.getText(), StudentLocationTF.getText(), StudentTimeZoneTF.getText(), StudentPhoneNumberTF.getText(), StudentAdditionalNotesTF.getText()));
1767 }
1768 String [] studentsArray = new String[students.size()+1];
1769 studentsArray[0] = "Choose Student to Add Song";
1770 for(int i = 1; i < studentsArray.length; i++){
1771 studentsArray[i] = students.get(i-1).getName();
1772 }
1773 AddSongToStudentCB.setModel(new javax.swing.DefaultComboBoxModel(studentsArray));
1774 refreshStudentTable();
1775 refreshExistingStudentTable();
1776 }
1777
1778 private void SortingSongsCBItemStateChanged(java.awt.event.ItemEvent evt) {
1779
1780 SortingAndSearching sortForSong = new SortingAndSearching();
1781
1782 if(SortingSongsCB.getSelectedItem().toString().equalsIgnoreCase("Song Name A-Z")){
1783 sortForSong.sortBySongNameAZ(songs);
1784 refreshSongTable();
1785 }
1786 else if (SortingSongsCB.getSelectedItem().toString().equalsIgnoreCase("Movie Name A-Z")){
1787 sortForSong.sortByMovieNameAZ(songs);
1788 refreshSongTable();
1789 }
1790 else if (SortingSongsCB.getSelectedItem().toString().equalsIgnoreCase("BPM (ascending)")){
1791 sortForSong.sortByBPMAscending(songs);
1792 refreshSongTable();
1793 }
1794 else if (SortingSongsCB.getSelectedItem().toString().equalsIgnoreCase("BPM (descending)")){
1795 sortForSong.sortByBPMDescending(songs);
1796 refreshSongTable();
1797 }
1798
1799 }
1800
1801 private void SortingStudentsCBItemStateChanged(java.awt.event.ItemEvent evt) {
1802
1803 SortingAndSearching sortForStudent = new SortingAndSearching();
1804
1805 if(SortingStudentsCB.getSelectedItem().toString().equals("Name A-Z")){
1806 sortForStudent.sortByStudentNameAZ(students);
1807 refreshStudentTable();
1808 }
1809 else if (SortingStudentsCB.getSelectedItem().toString().equals("Email A-Z")){
1810 sortForStudent.sortByStudentEmailAZ(students);
1811 refreshStudentTable();
1812 }
1813 else if(SortingStudentsCB.getSelectedItem().toString().equals("Location A-Z")){
1814 sortForStudent.sortByStudentLocationAZ(students);
1815 refreshStudentTable();
1816 }
1817 else if(SortingStudentsCB.getSelectedItem().toString().equals("GMT (Descending)")){
1818 sortForStudent.sortByStudentTimeZoneAZ(students);
1819 refreshStudentTable();
1820 }
1821
1822 }
1823
1824 private void StudentEmailTFMouseReleased(java.awt.event.MouseEvent evt) {
1825
1826 StudentEmailTF.setText("");
1827 StudentEmailTF.setForeground(Color.BLACK);
1828 }
1829
1830 private void StudentLocationTFMouseReleased(java.awt.event.MouseEvent evt) {
1831
1832 StudentLocationTF.setText("");
1833 StudentLocationTF.setForeground(Color.BLACK);
1834 }
1835
1836 private void StudentPhoneNumberTFMouseReleased(java.awt.event.MouseEvent evt) {
1837
1838 StudentPhoneNumberTF.setText("");
1839 StudentPhoneNumberTF.setForeground(Color.BLACK);
1840 }
1841
1842 private void StudentTimeZoneTFMouseReleased(java.awt.event.MouseEvent evt) {
1843
1844 StudentTimeZoneTF.setText("");
1845 StudentTimeZoneTF.setForeground(Color.BLACK);
1846 }
1847
1848 private void SearchStudentsTFMouseReleased(java.awt.event.MouseEvent evt) {
1849
1850 SearchStudentsTF.setText("");
1851 }
1852
1853 private void SearchStudentsTFKeyReleased(java.awt.event.KeyEvent evt) {
1854
1855 if(evt.getKeyChar() == '\n'){
1856 SortingAndSearching searchForStudent = new SortingAndSearching();
1857 String searchBar = SearchStudentsTF.getText().trim();
1858 int found = searchForStudent.binarySearchStudentName(students, searchBar);
1859 if(found == -1){
1860 SearchStudentsTF.setText("Element Not Found");
1861 }
1862 else{
1863 makeListEmpty(ListOfStudentsT);
1864 ListOfStudentsT.setValueAt(students.get(found).getName(), 0, 0);
1865 ListOfStudentsT.setValueAt(students.get(found).getEmail(), 0, 1);
1866 ListOfStudentsT.setValueAt(students.get(found).getLocation(), 0, 2);
1867 ListOfStudentsT.setValueAt(students.get(found).getPhoneNumber(), 0, 3);
1868 ListOfStudentsT.setValueAt(students.get(found).getPhoneNumber(), 0, 4);
1869 ListOfStudentsT.setValueAt(students.get(found).getNotes(), 0, 5);
1870 }
1871 }
1872 }
1873
1874 private void SongNameTFMouseReleased(java.awt.event.MouseEvent evt) {
1875
1876 SongNameTF.setText("");
1877 SongNameTF.setForeground(Color.BLACK);
1878 }
1879
1880 private void MovieNameTFMouseReleased(java.awt.event.MouseEvent evt) {
1881
1882 MovieNameTF.setText("");
1883 MovieNameTF.setForeground(Color.BLACK);
1884 }
1885
1886 private void SongBPMTFMouseReleased(java.awt.event.MouseEvent evt) {
1887
1888 SongBPMTF.setText("");
1889 SongBPMTF.setForeground(Color.BLACK);
1890 }
1891
1892 private void EmailExtractionBMouseReleased(java.awt.event.MouseEvent evt) {
1893
1894 Thread seleniumMethod = new Thread(() -> {
1895 EmailAutomation.setProperty();
1896 EmailList.clearSelection();
1897 try {
1898 EmailAutomation.ExtractEmails(SignUpSheetLinkTF.getText(), ClassDateCB.getSelectedItem().toString(), SurveyEmailTF.getText(), SurveyPasswordTF.getText());
1899 } catch (InterruptedException ex) {
1900 ex.printStackTrace();
1901 }
1902 EmailList.setModel(EmailAutomation.emails);
1903 });
1904 seleniumMethod.start();
1905
1906 }
1907
1908 private void SendEmailButtonMouseReleased(java.awt.event.MouseEvent evt) {
1909
1910 EmailAutomation.setProperty();
1911 try {
1912 EmailAutomation.sendEmail();
1913 } catch (InterruptedException | AWTException ex) {
1914 ex.printStackTrace();
1915 }
1916 }
1917
1918 private void InputSongOKButtonActionPerformed(java.awt.event.ActionEvent evt) {
1919
1920 }
1921
1922 private void InputClassButtonMouseReleased(java.awt.event.MouseEvent evt) {
1923
1924 if(correctClassInfo()){
1925 classes.add(new BollywoodClass(ClassNameTF.getText(), ClassLocationTF.getText(), getMonthAndDay(ClassDateChooser.getDate()), ClassSongCB.getSelectedItem().toString(), inPersonOrZoom()));
1926 refreshClassTable();
1927 }
1928 String [] classDateArray = new String[classes.size()];
1929 for(int i = 0; i < classDateArray.length; i++){
1930 classDateArray[i] = classes.get(i).getClassDate();
1931 }
1932 ClassDateCB.setModel(new javax.swing.DefaultComboBoxModel(classDateArray));
1933 }
1934
1935 private void ClassNameTFMouseReleased(java.awt.event.MouseEvent evt) {
1936
1937 ClassNameTF.setText("");
1938 ClassNameTF.setForeground(Color.BLACK);
1939 }
1940
1941 private void ClassLocationTFMouseReleased(java.awt.event.MouseEvent evt) {
1942
1943 ClassLocationTF.setText("");
1944 ClassLocationTF.setForeground(Color.BLACK);
1945 }
1946
1947 private void ClassDateChooserMouseReleased(java.awt.event.MouseEvent evt) {
1948
1949 ClassNameTF.setVisible(true);
1950 ClassLocationTF.setVisible(true);
1951 ClassSongCB.setVisible(true);
1952 InPersonCB.setVisible(true);
1953 ZoomCB.setVisible(true);
1954 }
1955
1956 private void RefreshButtonMouseReleased(java.awt.event.MouseEvent evt) {
1957
1958 StudentNameTF.setText("Insert Student Name");
1959 StudentNameTF.setForeground(Color.gray);
1960 StudentEmailTF.setText("Insert Student Email");
1961 StudentEmailTF.setForeground(Color.gray);
1962 StudentLocationTF.setText("Insert Student Location");
1963 StudentLocationTF.setForeground(Color.gray);
1964 StudentPhoneNumberTF.setText("Insert Phone Number");
1965 StudentPhoneNumberTF.setForeground(Color.gray);
1966 StudentTimeZoneTF.setText("Insert Time Zone (GMT)");
1967 StudentTimeZoneTF.setForeground(Color.gray);
1968 StudentAdditionalNotesTF.setText("Insert Additional Notes");
1969 StudentAdditionalNotesTF.setForeground(Color.gray);
1970 SongNameTF.setText("Insert Song Name");
1971 SongNameTF.setForeground(Color.gray);
1972 MovieNameTF.setText("Insert Movie Name (year)");
1973 MovieNameTF.setForeground(Color.gray);
1974 SongBPMTF.setText("Insert Song BPM");
1975 SongBPMTF.setForeground(Color.gray);
1976 }
1977
1978 private void AddSongToStudentButtonMouseReleased(java.awt.event.MouseEvent evt) {
1979
1980
1981
1982
1983
1984 for(int i = 0; i < students.size();i++){
1985 if(students.get(i).getName().equals(AddSongToStudentCB.getSelectedItem().toString())){
1986 if(ListOfSongsT.getSelectedRow() == -1){
1987 JOptionPane.showMessageDialog(this, "You must select a song to add to the students repertoire, up in the list of songs", "Error Message", HEIGHT);
1988 }
1989 else{
1990 int s = ListOfSongsT.getSelectedRow();
1991 System.out.println(s);
1992 songs.get(s).addCompletedStudents(students.get(i), s);
1993 for(int j = 0; j < songs.get(s).getCompletedStudents().size();j++)
1994 System.out.println(songs.get(s).getCompletedStudents().get(j).getName());
1995
1996
1997
1998
1999
2000
2001 }
2002 }
2003 }
2004 }
2005
2006 private void SongsForStudentsCBItemStateChanged(java.awt.event.ItemEvent evt) {
2007
2008 makeListEmpty(ListOfStudentsT);
2009 for(int i = 0; i < songs.size(); i++){
2010 if(SongsForStudentsCB.getSelectedItem().toString().equals(songs.get(i).getSongName())){
2011 for(int j = 0; j < songs.get(i).getCompletedStudents().size(); j++){
2012 ListOfStudentsT.setValueAt(songs.get(i).getCompletedStudents().get(j).getName(), j, 0);
2013 ListOfStudentsT.setValueAt(songs.get(i).getCompletedStudents().get(j).getEmail(), j, 1);
2014 ListOfStudentsT.setValueAt(songs.get(i).getCompletedStudents().get(j).getLocation(), j, 2);
2015 ListOfStudentsT.setValueAt(songs.get(i).getCompletedStudents().get(j).getPhoneNumber(), j, 3);
2016 ListOfStudentsT.setValueAt(songs.get(i).getCompletedStudents().get(j).getPhoneNumber(), j, 4);
2017 ListOfStudentsT.setValueAt(songs.get(i).getCompletedStudents().get(j).getNotes(), j, 5);
2018 }
2019 }
2020 }
2021 }
2022
2023 private void InputStudentOKButtonActionPerformed(java.awt.event.ActionEvent evt) {
2024
2025 }
2026
2027 private void ListOfStudentsTMouseReleased(java.awt.event.MouseEvent evt) {
2028
2029 int index = ListOfStudentsT.getSelectedRow();
2030 if (index == -1) {
2031 RemoveButton.setVisible(false);
2032 ConfirmRemoveCB.setVisible(false);
2033 }
2034 else{
2035 RemoveButton.setVisible(true);
2036 ConfirmRemoveCB.setVisible(true);
2037 }
2038 }
2039
2040 private void RemoveButtonMouseReleased(java.awt.event.MouseEvent evt) {
2041
2042 if(ListOfStudentsT.getSelectedRow() == -1 && ListOfSongsT.getSelectedRow() == -1){
2043 JOptionPane.showMessageDialog(this, "Please select a row before clicking the remove button", "Error Message", HEIGHT);
2044 }
2045 else{
2046 if(ListOfInformationTP.getSelectedIndex() == 0){
2047 if(ConfirmRemoveCB.isSelected()){
2048 students.remove(ListOfStudentsT.getSelectedRow());
2049 makeListEmpty(ListOfStudentsT);
2050 refreshStudentTable();
2051 RemoveButton.setVisible(false);
2052 ConfirmRemoveCB.setVisible(false);
2053 }
2054 else{
2055 JOptionPane.showMessageDialog(this, "Please click the confirm button before removing an element from the table", "Error Message", HEIGHT);
2056 }
2057 }
2058 else{
2059 if(ConfirmRemoveCB.isSelected()){
2060 songs.remove(ListOfSongsT.getSelectedRow());
2061 makeListEmpty(ListOfSongsT);
2062 refreshSongTable();
2063 }
2064 else{
2065 JOptionPane.showMessageDialog(this, "Please click the confirm button before removing an element from the table", "Error Message", HEIGHT);
2066 }
2067 }
2068 }
2069 }
2070
2071 private void EmailExtractionBActionPerformed(java.awt.event.ActionEvent evt) {
2072
2073 }
2074
2075 private void SearchSongsTFKeyReleased(java.awt.event.KeyEvent evt) {
2076
2077 if(evt.getKeyChar() == '\n'){
2078 SortingAndSearching searchForSong = new SortingAndSearching();
2079 String searchBar = SearchSongsTF.getText();
2080 int found = searchForSong.binarySearchSongName(songs, searchBar);
2081 if(found == -1){
2082 SearchSongsTF.setText("Element Not Found");
2083 }
2084 else{
2085 makeListEmpty(ListOfStudentsT);
2086 ListOfSongsT.setValueAt(songs.get(found).getSongName(), 0, 0);
2087 ListOfSongsT.setValueAt(songs.get(found).getMovieName(), 0, 1);
2088 ListOfSongsT.setValueAt(songs.get(found).getSongBPM(), 0, 2);
2089 ListOfSongsT.setValueAt(songs.get(found).getDateOfPerformance(), 0, 3);
2090 }
2091 }
2092 }
2093
2094 private int j = 0;
2095
2096 private void CreateOrChooseExisitingTBItemStateChanged(java.awt.event.ItemEvent evt) {
2097
2098 if(CreateOrChooseExisitingTB.isSelected()){
2099 NumberOfStudentsSpinner.setValue(Integer.valueOf(0));
2100 ((DefaultEditor) NumberOfStudentsSpinner.getEditor()).getTextField().setText("0");
2101 System.out.println("Formation Size: "+formations.size());
2102
2103 j=0;
2104 prevButton.setVisible(false);
2105 if((Integer) NumberOfStudentsSpinner.getValue() == 0 && !formations.isEmpty()){
2106 addGrids(j);
2107 AllLabel.setVisible(true);
2108 FormationsLabel.setVisible(false);
2109 danceFormationSaveButton.setVisible(false);
2110 NumberOfStudentsLabel.setVisible(true);
2111 NumberOfStudentsSpinner.setVisible(true);
2112 nextButton.setVisible(false);
2113 }
2114 else{
2115 JOptionPane.showMessageDialog(this, "There are no formations to be displayed. Please create a new formation first", "Error Message", HEIGHT);
2116 CreateOrChooseExisitingTB.setSelected(false);
2117 AllLabel.setVisible(false);
2118 }
2119 if(formations.size()-1>j){
2120 nextButton.setVisible(true);
2121 }
2122
2123
2124
2125
2126 }
2127 else{
2128 FormationsLabel.setVisible(true);
2129 GridPanel.setVisible(true);
2130 AllLabel.setVisible(false);
2131 createdGridAlready = 0;
2132 createGrid();
2133 danceFormationSaveButton.setVisible(true);
2134 NumberOfStudentsLabel.setVisible(false);
2135 NumberOfStudentsSpinner.setVisible(false);
2136 prevButton.setVisible(false);
2137 nextButton.setVisible(false);
2138 }
2139 }
2140
2141
2142 private void danceFormationSaveButtonActionPerformed(java.awt.event.ActionEvent evt) {
2143
2144 formations.add(new LinkedList<String>(selectedGridButtonList));
2145 selectedGridButtonList.clear();
2146 while(GridPanel.getComponentCount()!=0)
2147 GridPanel.remove(0);
2148 createdGridAlready = 0;
2149 addButtons(GridPanel);
2150 JOptionPane.showMessageDialog(this, "You have sucessfully created and saved a new dance formation!", "Success Message", HEIGHT);
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167 }
2168
2169
2170 int test;
2171 private void InputKeyReleased(java.awt.event.KeyEvent evt) {
2172
2173 }
2174
2175 private void NumberOfStudentsSpinnerStateChanged(javax.swing.event.ChangeEvent evt) {
2176
2177 j = 0;
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189 found.clear();
2190 for(int i = 0; i < formations.size(); i++){
2191 if(formations.get(i).size() == (Integer) NumberOfStudentsSpinner.getValue()){
2192
2193 System.out.println("Found formation at:" + i);
2194 found.add(i);
2195 }
2196 }
2197 if(found.size() >1){
2198 nextButton.setVisible(true);
2199 }
2200 else{
2201 nextButton.setVisible(false);
2202 }
2203 if((Integer) NumberOfStudentsSpinner.getValue() > 0 ){
2204 AllLabel.setVisible(false);
2205 }
2206 addGrids(found.get(0));
2207 }
2208
2209 private void nextButtonKeyReleased(java.awt.event.KeyEvent evt) {
2210
2211
2212 }
2213
2214 private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) {
2215
2216
2217 if((Integer) NumberOfStudentsSpinner.getValue() == 0){
2218 nextButton.setVisible(false);
2219 j += 1;
2220 addGrids(j);
2221 prevButton.setVisible(true);
2222 if(formations.size()-1>j){
2223 nextButton.setVisible(true);
2224 }
2225 AllLabel.setVisible(true);
2226 }
2227 else{
2228 AllLabel.setVisible(false);
2229 nextButton.setVisible(false);
2230 j+=1;
2231 addGrids(found.get(j));
2232 prevButton.setVisible(true);
2233 if(found.size()-1>j){
2234 nextButton.setVisible(true);
2235 }
2236 }
2237 NumberOfStudentsSpinner.setVisible(false);
2238 NumberOfStudentsLabel.setVisible(false);
2239 }
2240
2241 private void prevButtonActionPerformed(java.awt.event.ActionEvent evt) {
2242
2243
2244 if((Integer) NumberOfStudentsSpinner.getValue() == 0){
2245 j -= 1;
2246 addGrids(j);
2247 nextButton.setVisible(true);
2248 prevButton.setVisible(false);
2249 if(j>0){
2250 prevButton.setVisible(true);
2251 }
2252 AllLabel.setVisible(true);
2253 }
2254 else{
2255 j -= 1;
2256 addGrids(found.get(j));
2257 nextButton.setVisible(true);
2258 prevButton.setVisible(false);
2259 if(j>0){
2260 prevButton.setVisible(true);
2261 }
2262 AllLabel.setVisible(false);
2263 }
2264
2265 if(prevButton.isVisible()){
2266 NumberOfStudentsSpinner.setVisible(false);
2267 NumberOfStudentsLabel.setVisible(false);
2268 }
2269 else{
2270 NumberOfStudentsSpinner.setVisible(true);
2271 NumberOfStudentsLabel.setVisible(true);
2272 }
2273 }
2274
2275 private void NumberOfStudentsSpinnerKeyTyped(java.awt.event.KeyEvent evt) {
2276
2277 if(evt.equals(Keys.ENTER)){
2278 j = 0;
2279 found.clear();
2280 for(int i = 0; i < formations.size(); i++){
2281 if(formations.get(i).size() == (Integer) NumberOfStudentsSpinner.getValue()){
2282
2283 System.out.println("Found formation at:" + i);
2284 found.add(i);
2285 }
2286 }
2287 if(found.size() >1){
2288 nextButton.setVisible(true);
2289 }
2290 else{
2291 nextButton.setVisible(false);
2292 }
2293 addGrids(found.get(j));
2294 }
2295 }
2296
2297 private void SurveyEmailTFActionPerformed(java.awt.event.ActionEvent evt) {
2298
2299 }
2300
2301 private void AddHighlightedEmailsButtonMouseReleased(java.awt.event.MouseEvent evt) {
2302
2303 if(ListOfExistingStudentsT.getSelectedRow() == -1){
2304 JOptionPane.showMessageDialog(this, "Please select a row to add the respective student email", "Error Message", HEIGHT);
2305 }
2306 else{
2307 EmailAutomation.emails.addElement(students.get(ListOfExistingStudentsT.getSelectedRow()).getEmail());
2308 EmailList.clearSelection();
2309 EmailList.setModel(EmailAutomation.emails);
2310 }
2311 }
2312
2313 private void StudentAdditionalNotesTFMouseReleased(java.awt.event.MouseEvent evt) {
2314
2315 StudentAdditionalNotesTF.setText("");
2316 StudentAdditionalNotesTF.setForeground(Color.BLACK);
2317 }
2318
2319 private void SortingStudentsCBActionPerformed(java.awt.event.ActionEvent evt) {
2320
2321 }
2322
2323 private void ListOfInformationTPMouseReleased(java.awt.event.MouseEvent evt) {
2324
2325 if(ListOfInformationTP.getSelectedIndex() == 0){
2326 jLabel8.setVisible(false);
2327 jLabel10.setVisible(false);
2328 AddSongToStudentCB.setVisible(false);
2329 AddSongToStudentButton.setVisible(false);
2330 }
2331 else{
2332 jLabel8.setVisible(true);
2333 jLabel10.setVisible(true);
2334 AddSongToStudentCB.setVisible(true);
2335 AddSongToStudentButton.setVisible(true);
2336 }
2337 }
2338
2339 private void ListOfSongsTMouseReleased(java.awt.event.MouseEvent evt) {
2340
2341 int index = ListOfSongsT.getSelectedRow();
2342 if (index == -1) {
2343 RemoveButton.setVisible(false);
2344 ConfirmRemoveCB.setVisible(false);
2345 }
2346 else{
2347 RemoveButton.setVisible(true);
2348 ConfirmRemoveCB.setVisible(true);
2349 }
2350 }
2351
2352 private void RefreshButton1MouseReleased(java.awt.event.MouseEvent evt) {
2353
2354 makeListEmpty(ListOfStudentsT);
2355 refreshStudentTable();
2356 }
2357
2358 private void RefreshButton2MouseReleased(java.awt.event.MouseEvent evt) {
2359
2360 makeListEmpty(ListOfSongsT);
2361 refreshSongTable();
2362 }
2363
2364 private void ConfirmRemoveCB1ActionPerformed(java.awt.event.ActionEvent evt) {
2365
2366 }
2367
2368 private void ListOfClassesTMouseReleased(java.awt.event.MouseEvent evt) {
2369
2370 int index = ListOfClassesT.getSelectedRow();
2371
2372 if(ListOfClassesT.getSelectedRow() == -1){
2373 RemoveButton1.setVisible(false);
2374 ConfirmRemoveCB1.setVisible(false);
2375 }
2376 else{
2377 RemoveButton1.setVisible(true);
2378 ConfirmRemoveCB1.setVisible(true);
2379 }
2380 }
2381
2382 private void RemoveButton1KeyReleased(java.awt.event.KeyEvent evt) {
2383
2384 }
2385
2386 private void RemoveButton1MouseReleased(java.awt.event.MouseEvent evt) {
2387
2388 int index = ListOfClassesT.getSelectedRow();
2389 if(ConfirmRemoveCB1.isSelected() && index != -1){
2390 classes.remove(index);
2391 makeListEmpty(ListOfClassesT);
2392 refreshClassTable();
2393 RemoveButton1.setVisible(false);
2394 ConfirmRemoveCB1.setVisible(false);
2395 }
2396 else if(index == -1 && ConfirmRemoveCB1.isSelected()){
2397 JOptionPane.showMessageDialog(this, "Please select a row on the table before pressing the remove button", "Error Message", HEIGHT);
2398 }
2399 else if(!ConfirmRemoveCB1.isSelected()){
2400 JOptionPane.showMessageDialog(this, "Please select the confirm check box before removing an item from the table", "Error Message", HEIGHT);
2401 }
2402 }
2403
2404 private void saveMenuItemMouseReleased(java.awt.event.MouseEvent evt) {
2405 try {
2406
2407 fileWriterAndReaderMainMethod(true);
2408 } catch (IOException ex) {
2409 ex.printStackTrace();
2410 }
2411 }
2412
2413
2414 public void addGrids(int foundJ){
2415 while(GridPanel.getComponentCount()!=0){
2416 GridPanel.remove(0);
2417 }
2418 for(int row = 0; row < 15; row++){
2419 for(int col = 0; col < 15; col++){
2420 jbuttongrid[row][col] = new JButton();
2421 jbuttongrid[row][col].setPreferredSize(new Dimension(40,40));
2422 jbuttongrid[row][col].setMaximumSize(new Dimension(40,40));
2423 jbuttongrid[row][col].setMinimumSize(new Dimension(40,40));
2424 jbuttongrid[row][col].setVisible(false);
2425
2426 for(int loop = 0; loop < formations.get(foundJ).size(); loop++){
2427 if(formations.get(foundJ).get(loop).toString().length() == 5 && Integer.parseInt(String.valueOf(formations.get(foundJ).get(loop).toString().substring(0, 2))) == (row)){
2428 if(Integer.parseInt(String.valueOf(formations.get(foundJ).get(loop).toString().substring(3,5)))==(col)){
2429 jbuttongrid[row][col].setVisible(true);
2430 }
2431 }
2432 if(formations.get(foundJ).get(loop).toString().length() == 4 && formations.get(foundJ).get(loop).toString().charAt(2) == ','){
2433 if(Integer.parseInt(String.valueOf(formations.get(foundJ).get(loop).toString().substring(0,2))) == (row) && Character.getNumericValue(formations.get(foundJ).get(loop).toString().charAt(3))==(col)){
2434 jbuttongrid[row][col].setVisible(true);
2435 }
2436 }
2437 if(formations.get(foundJ).get(loop).toString().length() == 4 && formations.get(foundJ).get(loop).toString().charAt(1) == ','){
2438 if(Character.getNumericValue(formations.get(foundJ).get(loop).toString().charAt(0)) == (row) && Integer.parseInt(String.valueOf(formations.get(foundJ).get(loop).toString().substring(2))) == (col)){
2439 jbuttongrid[row][col].setVisible(true);
2440 }
2441 }
2442 if(formations.get(foundJ).get(loop).toString().length() == 3 && Character.getNumericValue(formations.get(foundJ).get(loop).toString().charAt(0)) == (row)){
2443 if(Character.getNumericValue(formations.get(foundJ).get(loop).toString().charAt(2)) == col){
2444 jbuttongrid[row][col].setVisible(true);
2445
2446 }
2447 }
2448 }
2449 GridPanel.add(jbuttongrid[row][col]);
2450 }
2451 }
2452 Input.setSelectedIndex(0);
2453 Input.setSelectedIndex(3);
2454 }
2455
2456
2457 @param args
2458
2459 public static void main(String args[]) throws ClassNotFoundException, InstantiationException {
2460 try {
2461
2462
2463
2464
2465
2466 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
2467
2468
2469
2470 } catch (IllegalAccessException ex) {
2471 Logger.getLogger(MainGUI.class.getName()).log(Level.SEVERE, null, ex);
2472 } catch (UnsupportedLookAndFeelException ex) {
2473 Logger.getLogger(MainGUI.class.getName()).log(Level.SEVERE, null, ex);
2474 }
2475
2476
2477 java.awt.EventQueue.invokeLater(new Runnable() {
2478 public void run() {
2479 mainGUI.setVisible(true);
2480 }
2481 });
2482 }
Netbeans auto-generated GUI code:
614 @SuppressWarnings("unchecked")
615 // <editor-fold defaultstate="collapsed" desc="Generated Code">
616 private void initComponents() {
617
618 ErrorPopup = new javax.swing.JPopupMenu();
619 jLabel11 = new javax.swing.JLabel();
620 Input = new javax.swing.JTabbedPane();
621 jPanel1 = new javax.swing.JPanel();
622 InputStudentOKButton = new javax.swing.JButton();
623 StudentNameTF = new javax.swing.JTextField();
624 StudentEmailTF = new javax.swing.JTextField();
625 StudentLocationTF = new javax.swing.JTextField();
626 jLabel1 = new javax.swing.JLabel();
627 jLabel2 = new javax.swing.JLabel();
628 SongNameTF = new javax.swing.JTextField();
629 jTabbedPane1 = new javax.swing.JTabbedPane();
630 ListOfInformationTP = new javax.swing.JTabbedPane();
631 jPanel5 = new javax.swing.JPanel();
632 jScrollPane1 = new javax.swing.JScrollPane();
633 ListOfStudentsT = new javax.swing.JTable();
634 SearchStudentsTF = new javax.swing.JTextField();
635 SortingStudentsCB = new javax.swing.JComboBox<>();
636 SongsForStudentsCB = new javax.swing.JComboBox<>();
637 RefreshButton1 = new javax.swing.JButton();
638 jPanel4 = new javax.swing.JPanel();
639 jScrollPane2 = new javax.swing.JScrollPane();
640 ListOfSongsT = new javax.swing.JTable();
641 SearchSongsTF = new javax.swing.JTextField();
642 SortingSongsCB = new javax.swing.JComboBox<>();
643 RefreshButton2 = new javax.swing.JButton();
644 InputSongOKButton = new javax.swing.JButton();
645 DateOfPerformanceChooser = new com.toedter.calendar.JDateChooser();
646 MovieNameTF = new javax.swing.JTextField();
647 StudentTimeZoneTF = new javax.swing.JTextField();
648 StudentPhoneNumberTF = new javax.swing.JTextField();
649 SongBPMTF = new javax.swing.JTextField();
650 AddSongToStudentCB = new javax.swing.JComboBox<>();
651 AddSongToStudentButton = new javax.swing.JButton();
652 RefreshButton = new javax.swing.JButton();
653 jLabel8 = new javax.swing.JLabel();
654 jLabel10 = new javax.swing.JLabel();
655 ConfirmRemoveCB = new javax.swing.JCheckBox();
656 RemoveButton = new javax.swing.JButton();
657 jScrollPane7 = new javax.swing.JScrollPane();
658 StudentAdditionalNotesTF = new javax.swing.JTextArea();
659 jPanel2 = new javax.swing.JPanel();
660 jScrollPane3 = new javax.swing.JScrollPane();
661 ListOfClassesT = new javax.swing.JTable();
662 jLabel3 = new javax.swing.JLabel();
663 InputClassButton = new javax.swing.JButton();
664 ClassNameTF = new javax.swing.JTextField();
665 ZoomCB = new javax.swing.JCheckBox();
666 InPersonCB = new javax.swing.JCheckBox();
667 ClassSongCB = new javax.swing.JComboBox<>();
668 ClassLocationTF = new javax.swing.JTextField();
669 jLabel4 = new javax.swing.JLabel();
670 jLabel5 = new javax.swing.JLabel();
671 ClassDateChooser = new com.toedter.calendar.JDateChooser();
672 RemoveButton1 = new javax.swing.JButton();
673 ConfirmRemoveCB1 = new javax.swing.JCheckBox();
674 jPanel6 = new javax.swing.JPanel();
675 EmailExtractionB = new javax.swing.JButton();
676 jScrollPane4 = new javax.swing.JScrollPane();
677 EmailList = new javax.swing.JList<>();
678 SendEmailButton = new javax.swing.JButton();
679 jLabel9 = new javax.swing.JLabel();
680 jScrollPane5 = new javax.swing.JScrollPane();
681 ListOfExistingStudentsT = new javax.swing.JTable();
682 AddHighlightedEmailsButton = new javax.swing.JButton();
683 ExtractionProgressBar = new javax.swing.JProgressBar();
684 ClassDateCB = new javax.swing.JComboBox<>();
685 jLabel7 = new javax.swing.JLabel();
686 SurveyEmailTF = new javax.swing.JTextField();
687 SurveyPasswordTF = new javax.swing.JTextField();
688 jLabel6 = new javax.swing.JLabel();
689 jScrollPane6 = new javax.swing.JScrollPane();
690 SignUpSheetLinkTF = new javax.swing.JTextArea();
691 random = new javax.swing.JPanel();
692 NumberOfStudentsSpinner = new javax.swing.JSpinner();
693 CreateOrChooseExisitingTB = new javax.swing.JToggleButton();
694 NumberOfStudentsLabel = new javax.swing.JLabel();
695 GridPanel = new javax.swing.JPanel();
696 danceFormationSaveButton = new javax.swing.JButton();
697 prevButton = new javax.swing.JButton();
698 nextButton = new javax.swing.JButton();
699 AllLabel = new javax.swing.JLabel();
700 FormationsLabel = new javax.swing.JLabel();
701 menuBar = new javax.swing.JMenuBar();
702 fileMenu = new javax.swing.JMenu();
703 openMenuItem = new javax.swing.JMenuItem();
704 saveMenuItem = new javax.swing.JMenuItem();
705 saveAsMenuItem = new javax.swing.JMenuItem();
706 exitMenuItem = new javax.swing.JMenuItem();
707 editMenu = new javax.swing.JMenu();
708 cutMenuItem = new javax.swing.JMenuItem();
709 copyMenuItem = new javax.swing.JMenuItem();
710 pasteMenuItem = new javax.swing.JMenuItem();
711 deleteMenuItem = new javax.swing.JMenuItem();
712 helpMenu = new javax.swing.JMenu();
713 contentsMenuItem = new javax.swing.JMenuItem();
714 aboutMenuItem = new javax.swing.JMenuItem();
715
716 jLabel11.setText("jLabel11");
717
718 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
719
720 Input.addKeyListener(new java.awt.event.KeyAdapter() {
721 public void keyReleased(java.awt.event.KeyEvent evt) {
722 InputKeyReleased(evt);
723 }
724 });
725
726 jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
727
728 InputStudentOKButton.setBackground(new java.awt.Color(255, 255, 255));
729 InputStudentOKButton.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
730 InputStudentOKButton.setForeground(new java.awt.Color(102, 102, 255));
731 InputStudentOKButton.setText("OK");
732 InputStudentOKButton.addMouseListener(new java.awt.event.MouseAdapter() {
733 public void mouseReleased(java.awt.event.MouseEvent evt) {
734 InputStudentOKButtonMouseReleased(evt);
735 }
736 });
737 InputStudentOKButton.addActionListener(new java.awt.event.ActionListener() {
738 public void actionPerformed(java.awt.event.ActionEvent evt) {
739 InputStudentOKButtonActionPerformed(evt);
740 }
741 });
742 jPanel1.add(InputStudentOKButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 222, -1, -1));
743
744 StudentNameTF.setColumns(5);
745 StudentNameTF.setForeground(new java.awt.Color(204, 204, 204));
746 StudentNameTF.setText("Insert Student Name");
747 StudentNameTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
748 StudentNameTF.addMouseListener(new java.awt.event.MouseAdapter() {
749 public void mouseReleased(java.awt.event.MouseEvent evt) {
750 StudentNameTFMouseReleased(evt);
751 }
752 });
753 StudentNameTF.addActionListener(new java.awt.event.ActionListener() {
754 public void actionPerformed(java.awt.event.ActionEvent evt) {
755 StudentNameTFActionPerformed(evt);
756 }
757 });
758 jPanel1.add(StudentNameTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(26, 44, 211, 36));
759
760 StudentEmailTF.setForeground(new java.awt.Color(204, 204, 204));
761 StudentEmailTF.setText("Insert Student Email");
762 StudentEmailTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
763 StudentEmailTF.addMouseListener(new java.awt.event.MouseAdapter() {
764 public void mouseReleased(java.awt.event.MouseEvent evt) {
765 StudentEmailTFMouseReleased(evt);
766 }
767 });
768 StudentEmailTF.addActionListener(new java.awt.event.ActionListener() {
769 public void actionPerformed(java.awt.event.ActionEvent evt) {
770 StudentEmailTFActionPerformed(evt);
771 }
772 });
773 jPanel1.add(StudentEmailTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(26, 89, 211, 35));
774
775 StudentLocationTF.setForeground(new java.awt.Color(204, 204, 204));
776 StudentLocationTF.setText("Insert Student Location");
777 StudentLocationTF.setMaximumSize(new java.awt.Dimension(157, 26));
778 StudentLocationTF.setMinimumSize(new java.awt.Dimension(157, 26));
779 StudentLocationTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
780 StudentLocationTF.addMouseListener(new java.awt.event.MouseAdapter() {
781 public void mouseReleased(java.awt.event.MouseEvent evt) {
782 StudentLocationTFMouseReleased(evt);
783 }
784 });
785 StudentLocationTF.addActionListener(new java.awt.event.ActionListener() {
786 public void actionPerformed(java.awt.event.ActionEvent evt) {
787 StudentLocationTFActionPerformed(evt);
788 }
789 });
790 jPanel1.add(StudentLocationTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(26, 134, 211, 34));
791
792 jLabel1.setFont(new java.awt.Font("Lucida Grande", 2, 18)); // NOI18N
793 jLabel1.setText("Input New Student Information");
794 jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(125, 22, -1, -1));
795
796 jLabel2.setFont(new java.awt.Font("Lucida Grande", 2, 18)); // NOI18N
797 jLabel2.setText("Input Song Information");
798 jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(546, 23, -1, -1));
799
800 SongNameTF.setForeground(new java.awt.Color(204, 204, 204));
801 SongNameTF.setText("Insert Song Name");
802 SongNameTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
803 SongNameTF.addMouseListener(new java.awt.event.MouseAdapter() {
804 public void mouseReleased(java.awt.event.MouseEvent evt) {
805 SongNameTFMouseReleased(evt);
806 }
807 });
808 SongNameTF.addActionListener(new java.awt.event.ActionListener() {
809 public void actionPerformed(java.awt.event.ActionEvent evt) {
810 SongNameTFActionPerformed(evt);
811 }
812 });
813 jPanel1.add(SongNameTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(528, 45, 238, 37));
814 jPanel1.add(jTabbedPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(803, 552, 232, -1));
815
816 ListOfInformationTP.addMouseListener(new java.awt.event.MouseAdapter() {
817 public void mouseReleased(java.awt.event.MouseEvent evt) {
818 ListOfInformationTPMouseReleased(evt);
819 }
820 });
821
822 ListOfStudentsT.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N
823 ListOfStudentsT.setModel(new javax.swing.table.DefaultTableModel(
824 new Object [][] {
825
826 },
827 new String [] {
828 "Name", "Email", "Location", "Phone Number", "Time Zone (GMT)", "Notes"
829 }
830 ) {
831 Class[] types = new Class [] {
832 java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class, java.lang.String.class
833 };
834
835 public Class getColumnClass(int columnIndex) {
836 return types [columnIndex];
837 }
838 });
839 ListOfStudentsT.setGridColor(new java.awt.Color(153, 153, 153));
840 ListOfStudentsT.setRowHeight(20);
841 ListOfStudentsT.setShowGrid(true);
842 ListOfStudentsT.addMouseListener(new java.awt.event.MouseAdapter() {
843 public void mouseReleased(java.awt.event.MouseEvent evt) {
844 ListOfStudentsTMouseReleased(evt);
845 }
846 });
847 jScrollPane1.setViewportView(ListOfStudentsT);
848
849 SearchStudentsTF.setText("Search in List...");
850 SearchStudentsTF.addMouseListener(new java.awt.event.MouseAdapter() {
851 public void mouseReleased(java.awt.event.MouseEvent evt) {
852 SearchStudentsTFMouseReleased(evt);
853 }
854 });
855 SearchStudentsTF.addKeyListener(new java.awt.event.KeyAdapter() {
856 public void keyReleased(java.awt.event.KeyEvent evt) {
857 SearchStudentsTFKeyReleased(evt);
858 }
859 });
860
861 SortingStudentsCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Sort By...", "Name A-Z", "Email A-Z", "Location A-Z", "GMT (Descending)" }));
862 SortingStudentsCB.addItemListener(new java.awt.event.ItemListener() {
863 public void itemStateChanged(java.awt.event.ItemEvent evt) {
864 SortingStudentsCBItemStateChanged(evt);
865 }
866 });
867 SortingStudentsCB.addActionListener(new java.awt.event.ActionListener() {
868 public void actionPerformed(java.awt.event.ActionEvent evt) {
869 SortingStudentsCBActionPerformed(evt);
870 }
871 });
872
873 SongsForStudentsCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Add Songs..." }));
874 SongsForStudentsCB.addItemListener(new java.awt.event.ItemListener() {
875 public void itemStateChanged(java.awt.event.ItemEvent evt) {
876 SongsForStudentsCBItemStateChanged(evt);
877 }
878 });
879
880 RefreshButton1.setIcon(new javax.swing.ImageIcon("/Users/16939/Desktop/RefreshIcon.png")); // NOI18N
881 RefreshButton1.addMouseListener(new java.awt.event.MouseAdapter() {
882 public void mouseReleased(java.awt.event.MouseEvent evt) {
883 RefreshButton1MouseReleased(evt);
884 }
885 });
886
887 javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
888 jPanel5.setLayout(jPanel5Layout);
889 jPanel5Layout.setHorizontalGroup(
890 jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
891 .addGroup(jPanel5Layout.createSequentialGroup()
892 .addContainerGap()
893 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
894 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
895 .addComponent(RefreshButton1)
896 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
897 .addComponent(SortingStudentsCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
898 .addGap(81, 81, 81)
899 .addComponent(SongsForStudentsCB, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)
900 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
901 .addComponent(SearchStudentsTF, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
902 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 764, Short.MAX_VALUE))
903 .addContainerGap())
904 );
905 jPanel5Layout.setVerticalGroup(
906 jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
907 .addGroup(jPanel5Layout.createSequentialGroup()
908 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
909 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
910 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
911 .addComponent(SongsForStudentsCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
912 .addComponent(SearchStudentsTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
913 .addComponent(SortingStudentsCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
914 .addComponent(RefreshButton1, javax.swing.GroupLayout.Alignment.TRAILING))
915 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
916 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 243, javax.swing.GroupLayout.PREFERRED_SIZE)
917 .addContainerGap())
918 );
919
920 ListOfInformationTP.addTab("List of Students", jPanel5);
921
922 ListOfSongsT.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N
923 ListOfSongsT.setModel(new javax.swing.table.DefaultTableModel(
924 new Object [][] {
925
926 },
927 new String [] {
928 "Song Name", "Movie Name (year)", "Song BPM", "Date of Performance"
929 }
930 ));
931 ListOfSongsT.setGridColor(new java.awt.Color(153, 153, 153));
932 ListOfSongsT.setRowHeight(20);
933 ListOfSongsT.setShowGrid(true);
934 ListOfSongsT.addMouseListener(new java.awt.event.MouseAdapter() {
935 public void mouseReleased(java.awt.event.MouseEvent evt) {
936 ListOfSongsTMouseReleased(evt);
937 }
938 });
939 jScrollPane2.setViewportView(ListOfSongsT);
940 if (ListOfSongsT.getColumnModel().getColumnCount() > 0) {
941 ListOfSongsT.getColumnModel().getColumn(2).setPreferredWidth(20);
942 ListOfSongsT.getColumnModel().getColumn(3).setResizable(false);
943 ListOfSongsT.getColumnModel().getColumn(3).setPreferredWidth(130);
944 }
945
946 SearchSongsTF.setText("Search in List...");
947 SearchSongsTF.addKeyListener(new java.awt.event.KeyAdapter() {
948 public void keyReleased(java.awt.event.KeyEvent evt) {
949 SearchSongsTFKeyReleased(evt);
950 }
951 });
952
953 SortingSongsCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Sort By...", "Song Name A-Z", "Movie Name A-Z", "BPM (ascending)", "BPM (descending)" }));
954 SortingSongsCB.addItemListener(new java.awt.event.ItemListener() {
955 public void itemStateChanged(java.awt.event.ItemEvent evt) {
956 SortingSongsCBItemStateChanged(evt);
957 }
958 });
959
960 RefreshButton2.setIcon(new javax.swing.ImageIcon("/Users/16939/Desktop/RefreshIcon.png")); // NOI18N
961 RefreshButton2.addMouseListener(new java.awt.event.MouseAdapter() {
962 public void mouseReleased(java.awt.event.MouseEvent evt) {
963 RefreshButton2MouseReleased(evt);
964 }
965 });
966
967 javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
968 jPanel4.setLayout(jPanel4Layout);
969 jPanel4Layout.setHorizontalGroup(
970 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
971 .addGroup(jPanel4Layout.createSequentialGroup()
972 .addContainerGap()
973 .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
974 .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 770, Short.MAX_VALUE)
975 .addGroup(jPanel4Layout.createSequentialGroup()
976 .addComponent(RefreshButton2)
977 .addGap(3, 3, 3)
978 .addComponent(SortingSongsCB, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE)
979 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
980 .addComponent(SearchSongsTF, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE)
981 .addContainerGap())))
982 );
983 jPanel4Layout.setVerticalGroup(
984 jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
985 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
986 .addContainerGap()
987 .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
988 .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
989 .addComponent(SearchSongsTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
990 .addComponent(SortingSongsCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
991 .addComponent(RefreshButton2))
992 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
993 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE)
994 .addContainerGap())
995 );
996
997 ListOfInformationTP.addTab("List of Songs", jPanel4);
998
999 jPanel1.add(ListOfInformationTP, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 269, -1, -1));
1000
1001 InputSongOKButton.setBackground(new java.awt.Color(255, 255, 255));
1002 InputSongOKButton.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1003 InputSongOKButton.setForeground(new java.awt.Color(102, 102, 255));
1004 InputSongOKButton.setText("OK");
1005 InputSongOKButton.addMouseListener(new java.awt.event.MouseAdapter() {
1006 public void mouseReleased(java.awt.event.MouseEvent evt) {
1007 InputSongOKButtonMouseReleased(evt);
1008 }
1009 });
1010 InputSongOKButton.addActionListener(new java.awt.event.ActionListener() {
1011 public void actionPerformed(java.awt.event.ActionEvent evt) {
1012 InputSongOKButtonActionPerformed(evt);
1013 }
1014 });
1015 jPanel1.add(InputSongOKButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(591, 222, -1, -1));
1016
1017 DateOfPerformanceChooser.setToolTipText("Choose Date");
1018 jPanel1.add(DateOfPerformanceChooser, new org.netbeans.lib.awtextra.AbsoluteConstraints(529, 173, 238, 37));
1019 DateOfPerformanceChooser.getAccessibleContext().setAccessibleName("");
1020
1021 MovieNameTF.setForeground(new java.awt.Color(204, 204, 204));
1022 MovieNameTF.setText("Insert Movie Name (year)");
1023 MovieNameTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
1024 MovieNameTF.addMouseListener(new java.awt.event.MouseAdapter() {
1025 public void mouseReleased(java.awt.event.MouseEvent evt) {
1026 MovieNameTFMouseReleased(evt);
1027 }
1028 });
1029 MovieNameTF.addActionListener(new java.awt.event.ActionListener() {
1030 public void actionPerformed(java.awt.event.ActionEvent evt) {
1031 MovieNameTFActionPerformed(evt);
1032 }
1033 });
1034 jPanel1.add(MovieNameTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(528, 88, 238, 37));
1035
1036 StudentTimeZoneTF.setForeground(new java.awt.Color(204, 204, 204));
1037 StudentTimeZoneTF.setText("Insert Time Zone (GMT)");
1038 StudentTimeZoneTF.setMaximumSize(new java.awt.Dimension(157, 26));
1039 StudentTimeZoneTF.setMinimumSize(new java.awt.Dimension(157, 26));
1040 StudentTimeZoneTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
1041 StudentTimeZoneTF.addMouseListener(new java.awt.event.MouseAdapter() {
1042 public void mouseReleased(java.awt.event.MouseEvent evt) {
1043 StudentTimeZoneTFMouseReleased(evt);
1044 }
1045 });
1046 StudentTimeZoneTF.addActionListener(new java.awt.event.ActionListener() {
1047 public void actionPerformed(java.awt.event.ActionEvent evt) {
1048 StudentTimeZoneTFActionPerformed(evt);
1049 }
1050 });
1051 jPanel1.add(StudentTimeZoneTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(255, 44, 201, 36));
1052
1053 StudentPhoneNumberTF.setForeground(new java.awt.Color(204, 204, 204));
1054 StudentPhoneNumberTF.setText("Insert Phone Number");
1055 StudentPhoneNumberTF.setMaximumSize(new java.awt.Dimension(143, 26));
1056 StudentPhoneNumberTF.setMinimumSize(new java.awt.Dimension(143, 26));
1057 StudentPhoneNumberTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
1058 StudentPhoneNumberTF.addMouseListener(new java.awt.event.MouseAdapter() {
1059 public void mouseReleased(java.awt.event.MouseEvent evt) {
1060 StudentPhoneNumberTFMouseReleased(evt);
1061 }
1062 });
1063 StudentPhoneNumberTF.addActionListener(new java.awt.event.ActionListener() {
1064 public void actionPerformed(java.awt.event.ActionEvent evt) {
1065 StudentPhoneNumberTFActionPerformed(evt);
1066 }
1067 });
1068 jPanel1.add(StudentPhoneNumberTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(26, 179, 211, 34));
1069
1070 SongBPMTF.setForeground(new java.awt.Color(204, 204, 204));
1071 SongBPMTF.setText("Insert Song BPM");
1072 SongBPMTF.setSelectedTextColor(new java.awt.Color(204, 204, 204));
1073 SongBPMTF.addMouseListener(new java.awt.event.MouseAdapter() {
1074 public void mouseReleased(java.awt.event.MouseEvent evt) {
1075 SongBPMTFMouseReleased(evt);
1076 }
1077 });
1078 SongBPMTF.addActionListener(new java.awt.event.ActionListener() {
1079 public void actionPerformed(java.awt.event.ActionEvent evt) {
1080 SongBPMTFActionPerformed(evt);
1081 }
1082 });
1083 jPanel1.add(SongBPMTF, new org.netbeans.lib.awtextra.AbsoluteConstraints(529, 131, 238, 36));
1084
1085 AddSongToStudentCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Choose Student to Add Song", "Student 1", "Student 2" }));
1086 jPanel1.add(AddSongToStudentCB, new org.netbeans.lib.awtextra.AbsoluteConstraints(561, 617, -1, -1));
1087
1088 AddSongToStudentButton.setBackground(new java.awt.Color(255, 255, 255));
1089 AddSongToStudentButton.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1090 AddSongToStudentButton.setForeground(new java.awt.Color(102, 102, 255));
1091 AddSongToStudentButton.setText("Add Song");
1092 AddSongToStudentButton.addMouseListener(new java.awt.event.MouseAdapter() {
1093 public void mouseReleased(java.awt.event.MouseEvent evt) {
1094 AddSongToStudentButtonMouseReleased(evt);
1095 }
1096 });
1097 jPanel1.add(AddSongToStudentButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(561, 651, 116, -1));
1098
1099 RefreshButton.setIcon(new javax.swing.ImageIcon("/Users/16939/Desktop/RefreshIcon.png")); // NOI18N
1100 RefreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
1101 public void mouseReleased(java.awt.event.MouseEvent evt) {
1102 RefreshButtonMouseReleased(evt);
1103 }
1104 });
1105 jPanel1.add(RefreshButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(14, 6, -1, -1));
1106
1107 jLabel8.setText("Select One Song on List and then:");
1108 jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(332, 621, -1, -1));
1109
1110 jLabel10.setText("Adding Student to Song:");
1111 jPanel1.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 656, -1, -1));
1112
1113 ConfirmRemoveCB.setText("Confirm");
1114 jPanel1.add(ConfirmRemoveCB, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 652, -1, -1));
1115
1116 RemoveButton.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1117 RemoveButton.setText("Remove");
1118 RemoveButton.addMouseListener(new java.awt.event.MouseAdapter() {
1119 public void mouseReleased(java.awt.event.MouseEvent evt) {
1120 RemoveButtonMouseReleased(evt);
1121 }
1122 });
1123 jPanel1.add(RemoveButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(14, 616, -1, -1));
1124
1125 StudentAdditionalNotesTF.setColumns(20);
1126 StudentAdditionalNotesTF.setForeground(new java.awt.Color(204, 204, 204));
1127 StudentAdditionalNotesTF.setRows(5);
1128 StudentAdditionalNotesTF.setText("\n\n\nInsert Additional Notes");
1129 StudentAdditionalNotesTF.addMouseListener(new java.awt.event.MouseAdapter() {
1130 public void mouseReleased(java.awt.event.MouseEvent evt) {
1131 StudentAdditionalNotesTFMouseReleased(evt);
1132 }
1133 });
1134 jScrollPane7.setViewportView(StudentAdditionalNotesTF);
1135
1136 jPanel1.add(jScrollPane7, new org.netbeans.lib.awtextra.AbsoluteConstraints(255, 89, 201, 124));
1137
1138 Input.addTab("Inputting Information", jPanel1);
1139
1140 ListOfClassesT.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N
1141 ListOfClassesT.setModel(new javax.swing.table.DefaultTableModel(
1142 new Object [][] {
1143
1144 },
1145 new String [] {
1146 "Class Name", "Class Location", "Class Date", "Class Song", "In-Person/Zoom"
1147 }
1148 ));
1149 ListOfClassesT.setGridColor(new java.awt.Color(153, 153, 153));
1150 ListOfClassesT.setShowGrid(true);
1151 ListOfClassesT.addMouseListener(new java.awt.event.MouseAdapter() {
1152 public void mouseReleased(java.awt.event.MouseEvent evt) {
1153 ListOfClassesTMouseReleased(evt);
1154 }
1155 });
1156 jScrollPane3.setViewportView(ListOfClassesT);
1157
1158 jLabel3.setFont(new java.awt.Font("Lucida Grande", 1, 18)); // NOI18N
1159 jLabel3.setText("Up-Coming Classes");
1160
1161 InputClassButton.setBackground(new java.awt.Color(255, 255, 255));
1162 InputClassButton.setFont(new java.awt.Font("Lucida Grande", 1, 14)); // NOI18N
1163 InputClassButton.setForeground(new java.awt.Color(102, 102, 255));
1164 InputClassButton.setText("OK");
1165 InputClassButton.addMouseListener(new java.awt.event.MouseAdapter() {
1166 public void mouseReleased(java.awt.event.MouseEvent evt) {
1167 InputClassButtonMouseReleased(evt);
1168 }
1169 });
1170
1171 ClassNameTF.setForeground(new java.awt.Color(204, 204, 204));
1172 ClassNameTF.setText(" Insert Class Name");
1173 ClassNameTF.addMouseListener(new java.awt.event.MouseAdapter() {
1174 public void mouseReleased(java.awt.event.MouseEvent evt) {
1175 ClassNameTFMouseReleased(evt);
1176 }
1177 });
1178
1179 ZoomCB.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1180 ZoomCB.setText("Zoom");
1181
1182 InPersonCB.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1183 InPersonCB.setText("In-Person");
1184
1185 ClassLocationTF.setForeground(new java.awt.Color(204, 204, 204));
1186 ClassLocationTF.setText(" Insert Class Location");
1187 ClassLocationTF.addMouseListener(new java.awt.event.MouseAdapter() {
1188 public void mouseReleased(java.awt.event.MouseEvent evt) {
1189 ClassLocationTFMouseReleased(evt);
1190 }
1191 });
1192
1193 jLabel4.setFont(new java.awt.Font("Lucida Grande", 2, 18)); // NOI18N
1194 jLabel4.setText("Pick a Date in Below to Start Inputting a New Class");
1195
1196 ClassDateChooser.addMouseListener(new java.awt.event.MouseAdapter() {
1197 public void mouseReleased(java.awt.event.MouseEvent evt) {
1198 ClassDateChooserMouseReleased(evt);
1199 }
1200 });
1201
1202 RemoveButton1.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1203 RemoveButton1.setText("Remove");
1204 RemoveButton1.addMouseListener(new java.awt.event.MouseAdapter() {
1205 public void mouseReleased(java.awt.event.MouseEvent evt) {
1206 RemoveButton1MouseReleased(evt);
1207 }
1208 });
1209 RemoveButton1.addKeyListener(new java.awt.event.KeyAdapter() {
1210 public void keyReleased(java.awt.event.KeyEvent evt) {
1211 RemoveButton1KeyReleased(evt);
1212 }
1213 });
1214
1215 ConfirmRemoveCB1.setText("Confirm");
1216 ConfirmRemoveCB1.addActionListener(new java.awt.event.ActionListener() {
1217 public void actionPerformed(java.awt.event.ActionEvent evt) {
1218 ConfirmRemoveCB1ActionPerformed(evt);
1219 }
1220 });
1221
1222 javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
1223 jPanel2.setLayout(jPanel2Layout);
1224 jPanel2Layout.setHorizontalGroup(
1225 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1226 .addGroup(jPanel2Layout.createSequentialGroup()
1227 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1228 .addGroup(jPanel2Layout.createSequentialGroup()
1229 .addGap(164, 164, 164)
1230 .addComponent(jLabel4)
1231 .addGap(48, 48, 48)
1232 .addComponent(jLabel5))
1233 .addGroup(jPanel2Layout.createSequentialGroup()
1234 .addGap(253, 253, 253)
1235 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
1236 .addComponent(ClassDateChooser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1237 .addComponent(ClassNameTF)
1238 .addComponent(ClassLocationTF, javax.swing.GroupLayout.DEFAULT_SIZE, 260, Short.MAX_VALUE)))
1239 .addGroup(jPanel2Layout.createSequentialGroup()
1240 .addGap(14, 14, 14)
1241 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1242 .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 778, javax.swing.GroupLayout.PREFERRED_SIZE)
1243 .addGroup(jPanel2Layout.createSequentialGroup()
1244 .addComponent(RemoveButton1)
1245 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1246 .addComponent(ConfirmRemoveCB1))))
1247 .addGroup(jPanel2Layout.createSequentialGroup()
1248 .addGap(269, 269, 269)
1249 .addComponent(ClassSongCB, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE))
1250 .addGroup(jPanel2Layout.createSequentialGroup()
1251 .addGap(342, 342, 342)
1252 .addComponent(InputClassButton))
1253 .addGroup(jPanel2Layout.createSequentialGroup()
1254 .addGap(280, 280, 280)
1255 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
1256 .addComponent(jLabel3)
1257 .addGroup(jPanel2Layout.createSequentialGroup()
1258 .addComponent(InPersonCB)
1259 .addGap(18, 18, 18)
1260 .addComponent(ZoomCB)))))
1261 .addContainerGap(17, Short.MAX_VALUE))
1262 );
1263 jPanel2Layout.setVerticalGroup(
1264 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1265 .addGroup(jPanel2Layout.createSequentialGroup()
1266 .addGap(26, 26, 26)
1267 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1268 .addComponent(jLabel4)
1269 .addComponent(jLabel5))
1270 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1271 .addComponent(ClassDateChooser, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
1272 .addGap(8, 8, 8)
1273 .addComponent(ClassNameTF, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
1274 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1275 .addComponent(ClassLocationTF, javax.swing.GroupLayout.DEFAULT_SIZE, 42, Short.MAX_VALUE)
1276 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1277 .addComponent(ClassSongCB, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
1278 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1279 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1280 .addComponent(InPersonCB)
1281 .addComponent(ZoomCB, javax.swing.GroupLayout.Alignment.TRAILING))
1282 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1283 .addComponent(InputClassButton)
1284 .addGap(18, 18, 18)
1285 .addComponent(jLabel3)
1286 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1287 .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 331, javax.swing.GroupLayout.PREFERRED_SIZE)
1288 .addGap(14, 14, 14)
1289 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
1290 .addComponent(RemoveButton1)
1291 .addComponent(ConfirmRemoveCB1)))
1292 );
1293
1294 Input.addTab("Class Calendar", jPanel2);
1295
1296 EmailExtractionB.setText("Extract Emails from Sign-Up Sheet");
1297 EmailExtractionB.addMouseListener(new java.awt.event.MouseAdapter() {
1298 public void mouseReleased(java.awt.event.MouseEvent evt) {
1299 EmailExtractionBMouseReleased(evt);
1300 }
1301 });
1302 EmailExtractionB.addActionListener(new java.awt.event.ActionListener() {
1303 public void actionPerformed(java.awt.event.ActionEvent evt) {
1304 EmailExtractionBActionPerformed(evt);
1305 }
1306 });
1307
1308 EmailList.setModel(new javax.swing.AbstractListModel<String>() {
1309 String[] strings = { "The emails will be added below:", "Email 1", "Email 2", "Email 3", "Email 4", "Email 5", "Email 6", "Email 7" };
1310 public int getSize() { return strings.length; }
1311 public String getElementAt(int i) { return strings[i]; }
1312 });
1313 jScrollPane4.setViewportView(EmailList);
1314
1315 SendEmailButton.setText("Send Email");
1316 SendEmailButton.addMouseListener(new java.awt.event.MouseAdapter() {
1317 public void mouseReleased(java.awt.event.MouseEvent evt) {
1318 SendEmailButtonMouseReleased(evt);
1319 }
1320 });
1321
1322 jLabel9.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1323 jLabel9.setText("Choose Exsisting Student Email(s) to Add to List");
1324
1325 ListOfExistingStudentsT.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N
1326 ListOfExistingStudentsT.setModel(new javax.swing.table.DefaultTableModel(
1327 new Object [][] {
1328
1329 },
1330 new String [] {
1331 "Name", "Email", "Time Zone"
1332 }
1333 ) {
1334 Class[] types = new Class [] {
1335 java.lang.String.class, java.lang.String.class, java.lang.Object.class
1336 };
1337 boolean[] canEdit = new boolean [] {
1338 false, false, false
1339 };
1340
1341 public Class getColumnClass(int columnIndex) {
1342 return types [columnIndex];
1343 }
1344
1345 public boolean isCellEditable(int rowIndex, int columnIndex) {
1346 return canEdit [columnIndex];
1347 }
1348 });
1349 ListOfExistingStudentsT.setGridColor(new java.awt.Color(153, 153, 153));
1350 ListOfExistingStudentsT.setRowHeight(20);
1351 ListOfExistingStudentsT.setShowGrid(true);
1352 jScrollPane5.setViewportView(ListOfExistingStudentsT);
1353 if (ListOfExistingStudentsT.getColumnModel().getColumnCount() > 0) {
1354 ListOfExistingStudentsT.getColumnModel().getColumn(0).setResizable(false);
1355 ListOfExistingStudentsT.getColumnModel().getColumn(1).setResizable(false);
1356 ListOfExistingStudentsT.getColumnModel().getColumn(2).setResizable(false);
1357 }
1358
1359 AddHighlightedEmailsButton.setText("Add Highlighted Emails to the List");
1360 AddHighlightedEmailsButton.addMouseListener(new java.awt.event.MouseAdapter() {
1361 public void mouseReleased(java.awt.event.MouseEvent evt) {
1362 AddHighlightedEmailsButtonMouseReleased(evt);
1363 }
1364 });
1365
1366 ExtractionProgressBar.setForeground(new java.awt.Color(51, 51, 255));
1367 ExtractionProgressBar.setToolTipText("");
1368 ExtractionProgressBar.setMaximumSize(new java.awt.Dimension(32767, 50));
1369 ExtractionProgressBar.setMinimumSize(new java.awt.Dimension(10, 50));
1370 ExtractionProgressBar.setPreferredSize(new java.awt.Dimension(146, 80));
1371
1372 ClassDateCB.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "No Upcoming Classes" }));
1373
1374 jLabel7.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1375 jLabel7.setText("Choose Date and Input Survey Link");
1376
1377 SurveyEmailTF.setForeground(new java.awt.Color(153, 153, 153));
1378 SurveyEmailTF.setText("Insert Survey Monkey Email");
1379 SurveyEmailTF.addActionListener(new java.awt.event.ActionListener() {
1380 public void actionPerformed(java.awt.event.ActionEvent evt) {
1381 SurveyEmailTFActionPerformed(evt);
1382 }
1383 });
1384
1385 SurveyPasswordTF.setForeground(new java.awt.Color(153, 153, 153));
1386 SurveyPasswordTF.setText("Insert Survey Monkey Password");
1387
1388 jLabel6.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1389 jLabel6.setText("Survey Monkey Login Information");
1390
1391 SignUpSheetLinkTF.setColumns(20);
1392 SignUpSheetLinkTF.setRows(5);
1393 SignUpSheetLinkTF.setText("https://www.surveymonkey.com/analyze/browse/Q3QX6VcTZ8y_2F2w6PdfKMEGvjwPbqWiR4VVbxqErVN7g_3D");
1394 jScrollPane6.setViewportView(SignUpSheetLinkTF);
1395
1396 javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
1397 jPanel6.setLayout(jPanel6Layout);
1398 jPanel6Layout.setHorizontalGroup(
1399 jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1400 .addGroup(jPanel6Layout.createSequentialGroup()
1401 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1402 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1403 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
1404 .addContainerGap()
1405 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1406 .addComponent(SurveyPasswordTF, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 271, javax.swing.GroupLayout.PREFERRED_SIZE)
1407 .addComponent(SurveyEmailTF, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 271, javax.swing.GroupLayout.PREFERRED_SIZE)))
1408 .addGroup(jPanel6Layout.createSequentialGroup()
1409 .addGap(32, 32, 32)
1410 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1411 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
1412 .addComponent(jScrollPane4)
1413 .addComponent(ExtractionProgressBar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1414 .addComponent(EmailExtractionB, javax.swing.GroupLayout.PREFERRED_SIZE, 277, javax.swing.GroupLayout.PREFERRED_SIZE))
1415 .addGroup(jPanel6Layout.createSequentialGroup()
1416 .addGap(69, 69, 69)
1417 .addComponent(SendEmailButton)))))
1418 .addGroup(jPanel6Layout.createSequentialGroup()
1419 .addGap(59, 59, 59)
1420 .addComponent(jLabel6))
1421 .addGroup(jPanel6Layout.createSequentialGroup()
1422 .addGap(52, 52, 52)
1423 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1424 .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
1425 .addComponent(jLabel7)))
1426 .addGroup(jPanel6Layout.createSequentialGroup()
1427 .addGap(74, 74, 74)
1428 .addComponent(ClassDateCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
1429 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1430 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1431 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
1432 .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 439, javax.swing.GroupLayout.PREFERRED_SIZE)
1433 .addGap(21, 21, 21))
1434 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
1435 .addComponent(jLabel9)
1436 .addGap(83, 83, 83))))
1437 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
1438 .addGap(104, 436, Short.MAX_VALUE)
1439 .addComponent(AddHighlightedEmailsButton)
1440 .addGap(113, 113, 113))
1441 );
1442 jPanel6Layout.setVerticalGroup(
1443 jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1444 .addGroup(jPanel6Layout.createSequentialGroup()
1445 .addGap(24, 24, 24)
1446 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1447 .addGroup(jPanel6Layout.createSequentialGroup()
1448 .addComponent(jLabel9)
1449 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1450 .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 396, javax.swing.GroupLayout.PREFERRED_SIZE)
1451 .addGap(18, 18, 18)
1452 .addComponent(AddHighlightedEmailsButton)
1453 .addGap(199, 199, 199))
1454 .addGroup(jPanel6Layout.createSequentialGroup()
1455 .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
1456 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
1457 .addComponent(ClassDateCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
1458 .addGap(12, 12, 12)
1459 .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
1460 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
1461 .addComponent(jLabel6)
1462 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1463 .addComponent(SurveyEmailTF, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
1464 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1465 .addComponent(SurveyPasswordTF, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
1466 .addGap(38, 38, 38)
1467 .addComponent(EmailExtractionB, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
1468 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1469 .addComponent(ExtractionProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
1470 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1471 .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 235, javax.swing.GroupLayout.PREFERRED_SIZE)
1472 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
1473 .addComponent(SendEmailButton)
1474 .addGap(47, 47, 47))))
1475 );
1476
1477 Input.addTab("Email Extraction", jPanel6);
1478
1479 NumberOfStudentsSpinner.addChangeListener(new javax.swing.event.ChangeListener() {
1480 public void stateChanged(javax.swing.event.ChangeEvent evt) {
1481 NumberOfStudentsSpinnerStateChanged(evt);
1482 }
1483 });
1484 NumberOfStudentsSpinner.addKeyListener(new java.awt.event.KeyAdapter() {
1485 public void keyTyped(java.awt.event.KeyEvent evt) {
1486 NumberOfStudentsSpinnerKeyTyped(evt);
1487 }
1488 });
1489
1490 CreateOrChooseExisitingTB.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
1491 CreateOrChooseExisitingTB.setText("Create an Existing Dance Formation");
1492 CreateOrChooseExisitingTB.addItemListener(new java.awt.event.ItemListener() {
1493 public void itemStateChanged(java.awt.event.ItemEvent evt) {
1494 CreateOrChooseExisitingTBItemStateChanged(evt);
1495 }
1496 });
1497 CreateOrChooseExisitingTB.addActionListener(new java.awt.event.ActionListener() {
1498 public void actionPerformed(java.awt.event.ActionEvent evt) {
1499 CreateOrChooseExisitingTBActionPerformed(evt);
1500 }
1501 });
1502
1503 NumberOfStudentsLabel.setText("Number of Students:");
1504
1505 javax.swing.GroupLayout GridPanelLayout = new javax.swing.GroupLayout(GridPanel);
1506 GridPanel.setLayout(GridPanelLayout);
1507 GridPanelLayout.setHorizontalGroup(
1508 GridPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1509 .addGap(0, 0, Short.MAX_VALUE)
1510 );
1511 GridPanelLayout.setVerticalGroup(
1512 GridPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1513 .addGap(0, 586, Short.MAX_VALUE)
1514 );
1515
1516 danceFormationSaveButton.setText("Click Here to Save Dance Formation");
1517 danceFormationSaveButton.addActionListener(new java.awt.event.ActionListener() {
1518 public void actionPerformed(java.awt.event.ActionEvent evt) {
1519 danceFormationSaveButtonActionPerformed(evt);
1520 }
1521 });
1522
1523 prevButton.setText("prev");
1524 prevButton.addActionListener(new java.awt.event.ActionListener() {
1525 public void actionPerformed(java.awt.event.ActionEvent evt) {
1526 prevButtonActionPerformed(evt);
1527 }
1528 });
1529
1530 nextButton.setText("next");
1531 nextButton.addActionListener(new java.awt.event.ActionListener() {
1532 public void actionPerformed(java.awt.event.ActionEvent evt) {
1533 nextButtonActionPerformed(evt);
1534 }
1535 });
1536 nextButton.addKeyListener(new java.awt.event.KeyAdapter() {
1537 public void keyReleased(java.awt.event.KeyEvent evt) {
1538 nextButtonKeyReleased(evt);
1539 }
1540 });
1541
1542 AllLabel.setText("Displaying ALL Formations");
1543
1544 FormationsLabel.setFont(new java.awt.Font("Lucida Grande", 3, 15)); // NOI18N
1545 FormationsLabel.setText("Add New Formations by Selecting Grid Boxes");
1546
1547 javax.swing.GroupLayout randomLayout = new javax.swing.GroupLayout(random);
1548 random.setLayout(randomLayout);
1549 randomLayout.setHorizontalGroup(
1550 randomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1551 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, randomLayout.createSequentialGroup()
1552 .addGap(27, 27, 27)
1553 .addGroup(randomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
1554 .addGroup(randomLayout.createSequentialGroup()
1555 .addGroup(randomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
1556 .addGroup(randomLayout.createSequentialGroup()
1557 .addComponent(prevButton, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
1558 .addGap(144, 144, 144)
1559 .addComponent(FormationsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1560 .addGap(124, 124, 124)
1561 .addComponent(nextButton))
1562 .addComponent(GridPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
1563 .addGap(29, 29, 29))
1564 .addGroup(randomLayout.createSequentialGroup()
1565 .addComponent(CreateOrChooseExisitingTB)
1566 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1567 .addComponent(danceFormationSaveButton)
1568 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1569 .addComponent(NumberOfStudentsLabel)
1570 .addGap(12, 12, 12)
1571 .addComponent(NumberOfStudentsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
1572 .addContainerGap())))
1573 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, randomLayout.createSequentialGroup()
1574 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1575 .addComponent(AllLabel)
1576 .addGap(19, 19, 19))
1577 );
1578 randomLayout.setVerticalGroup(
1579 randomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1580 .addGroup(randomLayout.createSequentialGroup()
1581 .addContainerGap()
1582 .addGroup(randomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
1583 .addComponent(nextButton)
1584 .addComponent(prevButton)
1585 .addComponent(FormationsLabel))
1586 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1587 .addComponent(GridPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
1588 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 12, Short.MAX_VALUE)
1589 .addComponent(AllLabel)
1590 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1591 .addGroup(randomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
1592 .addComponent(CreateOrChooseExisitingTB)
1593 .addComponent(danceFormationSaveButton)
1594 .addComponent(NumberOfStudentsLabel)
1595 .addComponent(NumberOfStudentsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
1596 .addGap(17, 17, 17))
1597 );
1598
1599 Input.addTab("Dance Formations", random);
1600
1601 fileMenu.setMnemonic('f');
1602 fileMenu.setText("File");
1603
1604 openMenuItem.setMnemonic('o');
1605 openMenuItem.setText("Open");
1606 fileMenu.add(openMenuItem);
1607
1608 saveMenuItem.setMnemonic('s');
1609 saveMenuItem.setText("Save");
1610 saveMenuItem.addMouseListener(new java.awt.event.MouseAdapter() {
1611 public void mouseReleased(java.awt.event.MouseEvent evt) {
1612 saveMenuItemMouseReleased(evt);
1613 }
1614 });
1615 fileMenu.add(saveMenuItem);
1616
1617 saveAsMenuItem.setMnemonic('a');
1618 saveAsMenuItem.setText("Save As ...");
1619 saveAsMenuItem.setDisplayedMnemonicIndex(5);
1620 fileMenu.add(saveAsMenuItem);
1621
1622 exitMenuItem.setMnemonic('x');
1623 exitMenuItem.setText("Exit");
1624 exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
1625 public void actionPerformed(java.awt.event.ActionEvent evt) {
1626 exitMenuItemActionPerformed(evt);
1627 }
1628 });
1629 fileMenu.add(exitMenuItem);
1630
1631 menuBar.add(fileMenu);
1632
1633 editMenu.setMnemonic('e');
1634 editMenu.setText("Edit");
1635
1636 cutMenuItem.setMnemonic('t');
1637 cutMenuItem.setText("Cut");
1638 editMenu.add(cutMenuItem);
1639
1640 copyMenuItem.setMnemonic('y');
1641 copyMenuItem.setText("Copy");
1642 editMenu.add(copyMenuItem);
1643
1644 pasteMenuItem.setMnemonic('p');
1645 pasteMenuItem.setText("Paste");
1646 editMenu.add(pasteMenuItem);
1647
1648 deleteMenuItem.setMnemonic('d');
1649 deleteMenuItem.setText("Delete");
1650 editMenu.add(deleteMenuItem);
1651
1652 menuBar.add(editMenu);
1653
1654 helpMenu.setMnemonic('h');
1655 helpMenu.setText("Help");
1656
1657 contentsMenuItem.setMnemonic('c');
1658 contentsMenuItem.setText("Contents");
1659 helpMenu.add(contentsMenuItem);
1660
1661 aboutMenuItem.setMnemonic('a');
1662 aboutMenuItem.setText("About");
1663 helpMenu.add(aboutMenuItem);
1664
1665 menuBar.add(helpMenu);
1666
1667 setJMenuBar(menuBar);
1668
1669 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
1670 getContentPane().setLayout(layout);
1671 layout.setHorizontalGroup(
1672 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1673 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
1674 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
1675 .addComponent(Input, javax.swing.GroupLayout.PREFERRED_SIZE, 830, javax.swing.GroupLayout.PREFERRED_SIZE)
1676 .addContainerGap())
1677 );
1678 layout.setVerticalGroup(
1679 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
1680 .addGroup(layout.createSequentialGroup()
1681 .addContainerGap()
1682 .addComponent(Input)
1683 .addContainerGap())
1684 );
1685
1686 pack();
1687 }// </editor-fold>
2483
2484 // Variables declaration - do not modify
2485 private javax.swing.JButton AddHighlightedEmailsButton;
2486 private javax.swing.JButton AddSongToStudentButton;
2487 private javax.swing.JComboBox<String> AddSongToStudentCB;
2488 private javax.swing.JLabel AllLabel;
2489 private javax.swing.JComboBox<String> ClassDateCB;
2490 private com.toedter.calendar.JDateChooser ClassDateChooser;
2491 private javax.swing.JTextField ClassLocationTF;
2492 private javax.swing.JTextField ClassNameTF;
2493 private javax.swing.JComboBox<String> ClassSongCB;
2494 private javax.swing.JCheckBox ConfirmRemoveCB;
2495 private javax.swing.JCheckBox ConfirmRemoveCB1;
2496 private javax.swing.JToggleButton CreateOrChooseExisitingTB;
2497 private com.toedter.calendar.JDateChooser DateOfPerformanceChooser;
2498 private javax.swing.JButton EmailExtractionB;
2499 private javax.swing.JList<String> EmailList;
2500 private javax.swing.JPopupMenu ErrorPopup;
2501 public javax.swing.JProgressBar ExtractionProgressBar;
2502 private javax.swing.JLabel FormationsLabel;
2503 private javax.swing.JPanel GridPanel;
2504 private javax.swing.JCheckBox InPersonCB;
2505 private javax.swing.JTabbedPane Input;
2506 private javax.swing.JButton InputClassButton;
2507 private javax.swing.JButton InputSongOKButton;
2508 private javax.swing.JButton InputStudentOKButton;
2509 private javax.swing.JTable ListOfClassesT;
2510 private javax.swing.JTable ListOfExistingStudentsT;
2511 private javax.swing.JTabbedPane ListOfInformationTP;
2512 private javax.swing.JTable ListOfSongsT;
2513 private javax.swing.JTable ListOfStudentsT;
2514 private javax.swing.JTextField MovieNameTF;
2515 private javax.swing.JLabel NumberOfStudentsLabel;
2516 private javax.swing.JSpinner NumberOfStudentsSpinner;
2517 private javax.swing.JButton RefreshButton;
2518 private javax.swing.JButton RefreshButton1;
2519 private javax.swing.JButton RefreshButton2;
2520 private javax.swing.JButton RemoveButton;
2521 private javax.swing.JButton RemoveButton1;
2522 private javax.swing.JTextField SearchSongsTF;
2523 private javax.swing.JTextField SearchStudentsTF;
2524 private javax.swing.JButton SendEmailButton;
2525 private javax.swing.JTextArea SignUpSheetLinkTF;
2526 private javax.swing.JTextField SongBPMTF;
2527 private javax.swing.JTextField SongNameTF;
2528 private javax.swing.JComboBox<String> SongsForStudentsCB;
2529 private javax.swing.JComboBox<String> SortingSongsCB;
2530 private javax.swing.JComboBox<String> SortingStudentsCB;
2531 private javax.swing.JTextArea StudentAdditionalNotesTF;
2532 private javax.swing.JTextField StudentEmailTF;
2533 private javax.swing.JTextField StudentLocationTF;
2534 private javax.swing.JTextField StudentNameTF;
2535 private javax.swing.JTextField StudentPhoneNumberTF;
2536 private javax.swing.JTextField StudentTimeZoneTF;
2537 private javax.swing.JTextField SurveyEmailTF;
2538 private javax.swing.JTextField SurveyPasswordTF;
2539 private javax.swing.JCheckBox ZoomCB;
2540 private javax.swing.JMenuItem aboutMenuItem;
2541 private javax.swing.JMenuItem contentsMenuItem;
2542 private javax.swing.JMenuItem copyMenuItem;
2543 private javax.swing.JMenuItem cutMenuItem;
2544 private javax.swing.JButton danceFormationSaveButton;
2545 private javax.swing.JMenuItem deleteMenuItem;
2546 private javax.swing.JMenu editMenu;
2547 private javax.swing.JMenuItem exitMenuItem;
2548 private javax.swing.JMenu fileMenu;
2549 private javax.swing.JMenu helpMenu;
2550 private javax.swing.JLabel jLabel1;
2551 private javax.swing.JLabel jLabel10;
2552 private javax.swing.JLabel jLabel11;
2553 private javax.swing.JLabel jLabel2;
2554 private javax.swing.JLabel jLabel3;
2555 private javax.swing.JLabel jLabel4;
2556 private javax.swing.JLabel jLabel5;
2557 private javax.swing.JLabel jLabel6;
2558 private javax.swing.JLabel jLabel7;
2559 private javax.swing.JLabel jLabel8;
2560 private javax.swing.JLabel jLabel9;
2561 private javax.swing.JPanel jPanel1;
2562 private javax.swing.JPanel jPanel2;
2563 private javax.swing.JPanel jPanel4;
2564 private javax.swing.JPanel jPanel5;
2565 private javax.swing.JPanel jPanel6;
2566 private javax.swing.JScrollPane jScrollPane1;
2567 private javax.swing.JScrollPane jScrollPane2;
2568 private javax.swing.JScrollPane jScrollPane3;
2569 private javax.swing.JScrollPane jScrollPane4;
2570 private javax.swing.JScrollPane jScrollPane5;
2571 private javax.swing.JScrollPane jScrollPane6;
2572 private javax.swing.JScrollPane jScrollPane7;
2573 private javax.swing.JTabbedPane jTabbedPane1;
2574 private javax.swing.JMenuBar menuBar;
2575 private javax.swing.JButton nextButton;
2576 private javax.swing.JMenuItem openMenuItem;
2577 private javax.swing.JMenuItem pasteMenuItem;
2578 private javax.swing.JButton prevButton;
2579 private javax.swing.JPanel random;
2580 private javax.swing.JMenuItem saveAsMenuItem;
2581 private javax.swing.JMenuItem saveMenuItem;
2582 // End of variables declaration
2583
2584 }
2585