/Users/19314/NetBeansProjects/4.4.1 Computational Thinkning/src/MainGUI.java

  1 

  2 /*

  3 Program can be altered to a schedule format, calculate free time, randomized time generator

  4 

  5 desired time vs. actual time --> effiency tracker 

  6 program can become a tracker and display a week or a month of how the client allocated  his time

  7 --> pie chart or a graph to showcase time allocation

  8 */

  9 

 10 public class MainGUI extends javax.swing.JFrame {

 11     

 12     private Task[] tasks = new Task[10];

 13     private int counter = 0;

 14     private SortingAndSearching sortAndSearch;

 15     

 16     public MainGUI() {

 17         initComponents();

 18         myIntComponents();

 19     }

 20        

 21     public void myIntComponents(){

 22         

 23         for(int i = 0; i < tasks.length; i++){

 24             tasks[i] = new Task();

 25             

 26         }

 27         

 28         sortAndSearch = new SortingAndSearching();

 29     }

 30     

 31     //method that will be used in To-Do List Display tab to update the table of tasks

 32     private void refreshDisplay(){

 33         System.out.println("The length of the table is: " + displayTable.getRowCount());

 34         int nextRow = -1;

 35         for(int i = 0; i < counter; i++){

 36                 nextRow++;

 37                 System.out.println(i);

 38                 displayTable.setValueAt(tasks[i].getName(),nextRow, 0);

 39                 displayTable.setValueAt(tasks[i].getTime(),nextRow, 1);

 40                 displayTable.setValueAt(tasks[i].getDescription(),nextRow, 2);

 41                 displayTable.setValueAt(tasks[i].getDifficulty(),nextRow, 3);

 42             }

 43     }

 44     

 45    

676     private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {                                             

677         System.exit(0);

678     }                                            

679 

680     private void completedTaskButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                    

681         // TODO add your handling code here:

682     }                                                   

683 

684     private void sortTimeButtonActionPerformed(java.awt.event.ActionEvent evt) {                                               

685         // TODO add your handling code here:

686     }                                              

687 

688     private void refreshButtonMouseReleased(java.awt.event.MouseEvent evt) {                                            

689 

690         refreshDisplay();

691  

692     }                                           

693 

694     private void sortDifficultyButtonMouseReleased(java.awt.event.MouseEvent evt) {                                                   

695     

696     // calling from sortingAndSearching class 

697     sortAndSearch.sortByDifficulty(tasks);

698         refreshDisplay();

699 

700     }                                                  

701 

702     private void inputTaskButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                

703     }                                               

704 

705     private void inputTaskButtonMouseReleased(java.awt.event.MouseEvent evt) {                                              

706 

707         //when the client clicks on the button on the Input Task Tab, it will store the inputted values

708         //Using parameters, the new "task" takes in the name, description, time, and difficulty level which 

709         //is set at false and 0

710         Task task = new Task (taskNameTF.getText(), descriptionArea.getText(),

711             Integer.parseInt(timeToSpendOnTaskTF.getText()),

712             Integer.parseInt((String)difficultyLevelComboBox.getSelectedItem()), false, 0);

713         

714         tasks [counter] = task;

715             counter++;

716             

717         //clear the text field

718         taskNameTF.setText("");

719         descriptionArea.setText("");

720         timeToSpendOnTaskTF.setText("");

721         difficultyLevelComboBox.setSelectedIndex(0);

722         //text fields are cleared and ready for the next task to be inputted

723         

724     }                                             

725 

726     private void completedTaskButtonMouseReleased(java.awt.event.MouseEvent evt) {                                                  

727        

728         /*Once the client has completed a task, they fill out which task has been completed 

729         and how long it actually took

730         */

731         String key = completedTaskTF.getText();

732        

733         for(int i = 0; i < counter; i++){

734             System.out.println("key: " + key);

735             System.out.println("tasks[counter].getName()) " + tasks[i].getName());

736             

737                 if(key.equalsIgnoreCase(tasks[i].getName())){

738                     tasks[i].setCompleted(true);

739                     tasks[i].setActualtime(Integer.parseInt(spentTimeOnTaskTF.getText()));

740                 }

741         //clear the text field box by ""

742         completedTaskTF.setText("");

743         spentTimeOnTaskTF.setText("");

744         }    

745     }                                                 

746 

747     private void refreshHistoryButtonMouseReleased(java.awt.event.MouseEvent evt) {                                                   

748     int nextRow = -1;

749 

750         for(int i = 0; i < counter; i++){

751             nextRow++;

752             historyTable.setValueAt(tasks[i].getName(),nextRow, 0);

753             historyTable.setValueAt(tasks[i].getActualtime(),nextRow, 1);

754             historyTable.setValueAt(tasks[i].getCompleted(),nextRow, 2);

755 

756         }    

757     }                                                  

758 

759     private void taskToSearchForButtonMouseReleased(java.awt.event.MouseEvent evt) {                                                    

760    

761        /*

762         Looping through all of the inputted tasks, the getName should equal the key and if

763         the tasks meets the getCompleted condition- if it is true, then display "task is completed"

764         else, display task is not completed

765         In order to line break, use "\n" after every new object for convience

766         */

767        String key = taskToSearchForTF.getText();

768        String display = "";

769        for(int i = 0; i < counter; i++){

770            System.out.println("key: " + key);

771            System.out.println("tasks[counter].getName()) " + tasks[i].getName());

772            

773             if(key.equalsIgnoreCase(tasks[i].getName())){

774                 if(tasks[i].getCompleted()==true){

775                     display = display + "Task is completed!" + "\n";

776                 }

777                 else{

778                     display = display + "Task is not completed" + "\n";

779                 }

780                 

781                display = display + "Description: " + tasks[i].getDescription() + "\n";

782                display = display + "Desired amount of time to spend: " + tasks[i].getTime() + "\n";

783                display = display + "Difficulty level: " + tasks[i].getDifficulty();

784                 

785                 }

786  

787            taskToSearchForAreaTF.setText(display);

788            

789        }   

790 

791        

792          

793     }                                                   

794 

795     private void sortTimeButtonMouseReleased(java.awt.event.MouseEvent evt) {                                             

796       

797         //bubble sorting method from sorting and searching  class

798         sortAndSearch.sortByTime(tasks);

799         refreshDisplay();

800 

801     }                                            

802 

803     private void progressBarButtonMouseReleased(java.awt.event.MouseEvent evt) {                                                

804 

805     }                                               

806 

807     private void progressBarButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                  

808         /*

809         pre-conditions: As there is a loop going through all of the inputted tasks, 

810         The task has to be true from the getCompleted object, 

811         this means that the task is completed

812         */

813         double numberCompleted = 0;

814         for(int i = 0; i < counter; i++){

815             if(tasks[i].getCompleted()==true){

816                 numberCompleted++;

817             }

818 

819         }

820         double percentCompleted = (numberCompleted/counter) * 100;

821             progressbar.setValue((int)percentCompleted);

822     

823         /* 

824         Calculations are made to find the percentage of the number of completed 

825         tasks out of the total amount of tasks

826         then the value is set to be displayed on the progress bar

827         */

828     }                                                 

829 

830     /**

831      * @param args the command line arguments

832      */

833     public static void main(String args[]) {

834         /* Set the Nimbus look and feel */

835         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

836         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

837          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 

838          */

839         try {

840             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

841                 if ("Nimbus".equals(info.getName())) {

842                     javax.swing.UIManager.setLookAndFeel(info.getClassName());

843                     break;

844                 }

845             }

846         } catch (ClassNotFoundException ex) {

847             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

848         } catch (InstantiationException ex) {

849             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

850         } catch (IllegalAccessException ex) {

851             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

852         } catch (javax.swing.UnsupportedLookAndFeelException ex) {

853             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

854         }

855         //</editor-fold>

856         //</editor-fold>

857         //</editor-fold>

858         //</editor-fold>

859 

860         /* Create and display the form */

861         java.awt.EventQueue.invokeLater(new Runnable() {

862             public void run() {

863                 new MainGUI().setVisible(true);

864             }

865         });

866     }

867 



SAMPLE OF GENERATED CODE BY NETBEANS


 /**

 46      * This method is called from within the constructor to initialize the form.

 47      * WARNING: Do NOT modify this code. The content of this method is always

 48      * regenerated by the Form Editor.

 49      */

 50     @SuppressWarnings("unchecked")

 51     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          

 52     private void initComponents() {

 53 

100         exitMenuItem = new javax.swing.JMenuItem();

101         editMenu = new javax.swing.JMenu();

102         cutMenuItem = new javax.swing.JMenuItem();

103         copyMenuItem = new javax.swing.JMenuItem();

104         pasteMenuItem = new javax.swing.JMenuItem();

105         deleteMenuItem = new javax.swing.JMenuItem();

106         helpMenu = new javax.swing.JMenu();

107         contentsMenuItem = new javax.swing.JMenuItem();

108         aboutMenuItem = new javax.swing.JMenuItem();

109 

110         jRadioButtonMenuItem1.setSelected(true);

111         jRadioButtonMenuItem1.setText("jRadioButtonMenuItem1");

112 

113         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

114         setBackground(new java.awt.Color(51, 153, 255));

115 

116         inputTaskPanel.setBackground(new java.awt.Color(153, 153, 153));

117 

118         timeToSpendOnTaskLabel.setText("Time you would like to spend on the task (hours)");

119 

120         taskNameLabel.setText("Task name");

121 

122         taskDescriptionLabel.setText("Detail description of task");

123 

124         inputTaskButton.setText("OK");

125         inputTaskButton.addMouseListener(new java.awt.event.MouseAdapter() {

126             public void mouseReleased(java.awt.event.MouseEvent evt) {

127                 inputTaskButtonMouseReleased(evt);

128             }

129         });

130         inputTaskButton.addActionListener(new java.awt.event.ActionListener() {

131             public void actionPerformed(java.awt.event.ActionEvent evt) {

132                 inputTaskButtonActionPerformed(evt);

133             }

134         });

135 

136         descriptionArea.setColumns(20);

137         descriptionArea.setRows(5);

138         taskDescriptionAreaTextBox.setViewportView(descriptionArea);

139 

140         difficultyLevelLabel.setText("Level of Difficulty (1-10)");

141 

142         difficultyLevelComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }));

143 

144         javax.swing.GroupLayout inputTaskPanelLayout = new javax.swing.GroupLayout(inputTaskPanel);

145         inputTaskPanel.setLayout(inputTaskPanelLayout);

146         inputTaskPanelLayout.setHorizontalGroup(

147             inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

148             .addGroup(inputTaskPanelLayout.createSequentialGroup()

149                 .addGap(27, 27, 27)

150                 .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

151                     .addGroup(inputTaskPanelLayout.createSequentialGroup()

152                         .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

153                             .addGroup(inputTaskPanelLayout.createSequentialGroup()

154                                 .addComponent(timeToSpendOnTaskLabel)

155                                 .addGap(27, 27, 27)

156                                 .addComponent(timeToSpendOnTaskTF, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE))

157                             .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 679, javax.swing.GroupLayout.PREFERRED_SIZE)

158                             .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 679, javax.swing.GroupLayout.PREFERRED_SIZE))

159                         .addGap(0, 283, Short.MAX_VALUE))

160                     .addGroup(inputTaskPanelLayout.createSequentialGroup()

161                         .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

162                             .addGroup(inputTaskPanelLayout.createSequentialGroup()

163                                 .addComponent(taskNameLabel)

164                                 .addGap(47, 47, 47)

165                                 .addComponent(taskNameTF, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE))

166                             .addGroup(inputTaskPanelLayout.createSequentialGroup()

167                                 .addComponent(taskDescriptionLabel)

168                                 .addGap(68, 68, 68)

169                                 .addComponent(taskDescriptionAreaTextBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

170                         .addContainerGap(490, Short.MAX_VALUE))))

171             .addGroup(inputTaskPanelLayout.createSequentialGroup()

172                 .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

173                     .addGroup(inputTaskPanelLayout.createSequentialGroup()

174                         .addGap(33, 33, 33)

175                         .addComponent(difficultyLevelLabel)

176                         .addGap(18, 18, 18)

177                         .addComponent(difficultyLevelComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

178                     .addGroup(inputTaskPanelLayout.createSequentialGroup()

179                         .addGap(240, 240, 240)

180                         .addComponent(inputTaskButton)))

181                 .addGap(0, 0, Short.MAX_VALUE))

182         );

183         inputTaskPanelLayout.setVerticalGroup(

184             inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

185             .addGroup(inputTaskPanelLayout.createSequentialGroup()

186                 .addGap(56, 56, 56)

187                 .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)

188                 .addGap(24, 24, 24)

189                 .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

190                     .addComponent(taskNameTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

191                     .addComponent(taskNameLabel))

192                 .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

193                     .addGroup(inputTaskPanelLayout.createSequentialGroup()

194                         .addGap(59, 59, 59)

195                         .addComponent(taskDescriptionLabel)

196                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 81, Short.MAX_VALUE))

197                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, inputTaskPanelLayout.createSequentialGroup()

198                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

199                         .addComponent(taskDescriptionAreaTextBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

200                         .addGap(34, 34, 34)))

201                 .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

202                     .addComponent(timeToSpendOnTaskLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)

203                     .addComponent(timeToSpendOnTaskTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

204                 .addGap(43, 43, 43)

205                 .addGroup(inputTaskPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

206                     .addComponent(difficultyLevelComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

207                     .addComponent(difficultyLevelLabel))

208                 .addGap(34, 34, 34)

209                 .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)

210                 .addGap(18, 18, 18)

211                 .addComponent(inputTaskButton)

212                 .addGap(50, 50, 50))

213         );

214 

215         inputTaskTab.addTab("Input Task", inputTaskPanel);

216 

217         toDoListDisplayPanel.setBackground(new java.awt.Color(51, 51, 51));

218 

219         displayTable.setModel(new javax.swing.table.DefaultTableModel(

220             new Object [][] {

221                 {"", null, null, null},

222                 {null, null, null, null},

223                 {null, null, null, null},

224                 {null, null, null, null},

225                 {null, null, null, null},

226                 {null, null, null, null},

227                 {null, null, null, null},

228                 {null, null, null, null},

229                 {null, null, null, null},

230                 {null, null, null, null},

231                 {null, null, null, null},

232                 {null, null, null, null},

233                 {null, null, null, null},

234                 {null, null, null, null},

235                 {null, null, null, null},

236                 {null, null, null, null},

237                 {null, null, null, null},

238                 {null, null, null, null},

239                 {null, null, null, null},

240                 {null, null, null, null},

241                 {null, null, null, null},

242                 {null, null, null, null},

243                 {null, null, null, null},

244                 {null, null, null, null}

245             },

246             new String [] {

247                 "Tasks", "Estimated Time", "Description", "Difficulty Level"

248             }

249         ));

250         toDoListDisplay.setViewportView(displayTable);

251 

252         refreshButton.setText("Refresh");

253         refreshButton.addMouseListener(new java.awt.event.MouseAdapter() {

254             public void mouseReleased(java.awt.event.MouseEvent evt) {

255                 refreshButtonMouseReleased(evt);

256             }

257         });

258 

259         completedTaskLabel.setForeground(new java.awt.Color(204, 204, 204));

260         completedTaskLabel.setText("What task have you completed?");

261 

262         spentTimeOnTaskLabel.setForeground(new java.awt.Color(204, 204, 204));

263         spentTimeOnTaskLabel.setText("How long did you spend on that task? ");

264 

265         completedTaskButton.setText("OK");

266         completedTaskButton.addMouseListener(new java.awt.event.MouseAdapter() {

267             public void mouseReleased(java.awt.event.MouseEvent evt) {

268                 completedTaskButtonMouseReleased(evt);

269             }

270         });

271         completedTaskButton.addActionListener(new java.awt.event.ActionListener() {

272             public void actionPerformed(java.awt.event.ActionEvent evt) {

273                 completedTaskButtonActionPerformed(evt);

274             }

275         });

276 

277         sortDifficultyButton.setText("Sort by difficulty");

278         sortDifficultyButton.addMouseListener(new java.awt.event.MouseAdapter() {

279             public void mouseReleased(java.awt.event.MouseEvent evt) {

280                 sortDifficultyButtonMouseReleased(evt);

281             }

282         });

283 

284         sortTimeButton.setText("Sort by time (shortest to longest)");

285         sortTimeButton.addMouseListener(new java.awt.event.MouseAdapter() {

286             public void mouseReleased(java.awt.event.MouseEvent evt) {

287                 sortTimeButtonMouseReleased(evt);

288             }

289         });

290         sortTimeButton.addActionListener(new java.awt.event.ActionListener() {

291             public void actionPerformed(java.awt.event.ActionEvent evt) {

292                 sortTimeButtonActionPerformed(evt);

293             }

336         );

337         toDoListDisplayPanelLayout.setVerticalGroup(

338             toDoListDisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

339             .addGroup(toDoListDisplayPanelLayout.createSequentialGroup()

340                 .addGap(31, 31, 31)

341                 .addComponent(toDoListDisplay, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)

342                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

343                 .addGroup(toDoListDisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

344                     .addComponent(sortDifficultyButton)

345                     .addComponent(sortTimeButton)

346                     .addComponent(refreshButton))

347                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

348                 .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)

349                 .addGap(52, 52, 52)

350                 .addGroup(toDoListDisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

351                     .addComponent(completedTaskLabel)

352                     .addComponent(completedTaskTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

353                 .addGap(39, 39, 39)

354                 .addGroup(toDoListDisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

355                     .addComponent(spentTimeOnTaskLabel)

356                     .addComponent(spentTimeOnTaskTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

357                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 47, Short.MAX_VALUE)

358                 .addComponent(completedTaskButton)

359                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

360                 .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

361                 .addGap(87, 87, 87))

362         );

363 

364         inputTaskTab.addTab("To Do List Display", toDoListDisplayPanel);

365 

366         jPanel1.setBackground(new java.awt.Color(0, 51, 102));

367 

368         historyTable.setModel(new javax.swing.table.DefaultTableModel(

369             new Object [][] {

370                 {null, null, null},

455                 {null, null, null},

456                 {null, null, null},

457                 {null, null, null},

458                 {null, null, null},

459                 {null, null, null},

460                 {null, null, null},

461                 {null, null, null},

462                 {null, null, null},

463                 {null, null, null},

464                 {null, null, null},

465                 {null, null, null},

466                 {null, null, null},

467                 {null, null, null},

468                 {null, null, null}

469             },

470             new String [] {

471                 "Task ", "Actual Time", "Completed"

472             }

473         ));

474         jScrollPane1.setViewportView(historyTable);

475 

476         refreshHistoryButton.setText("Refresh");

477         refreshHistoryButton.addMouseListener(new java.awt.event.MouseAdapter() {

478             public void mouseReleased(java.awt.event.MouseEvent evt) {

479                 refreshHistoryButtonMouseReleased(evt);

480             }

481         });

482 

483         progressBarLabel.setForeground(new java.awt.Color(255, 255, 255));

484         progressBarLabel.setText("Progress of completed of tasks");

485 

486         progressbar.setBackground(new java.awt.Color(255, 255, 255));

487         progressbar.setFont(new java.awt.Font("Kannada Sangam MN", 1, 14)); // NOI18N

488         progressbar.setForeground(new java.awt.Color(255, 255, 255));

489         progressbar.setStringPainted(true);

490 

491         progressBarButton.setText("See Progress");

492         progressBarButton.addMouseListener(new java.awt.event.MouseAdapter() {

493             public void mouseReleased(java.awt.event.MouseEvent evt) {

494                 progressBarButtonMouseReleased(evt);

495             }

496         });

497         progressBarButton.addActionListener(new java.awt.event.ActionListener() {

498             public void actionPerformed(java.awt.event.ActionEvent evt) {

499                 progressBarButtonActionPerformed(evt);

500             }

501         });

502 

503         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

504         jPanel1.setLayout(jPanel1Layout);

505         jPanel1Layout.setHorizontalGroup(

506             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

507             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

508                 .addContainerGap(263, Short.MAX_VALUE)

509                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

510                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

511                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

512                             .addComponent(progressbar, javax.swing.GroupLayout.PREFERRED_SIZE, 469, javax.swing.GroupLayout.PREFERRED_SIZE)

513                             .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

514                         .addGap(257, 257, 257))

515                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

516                         .addComponent(progressBarLabel)

517                         .addGap(396, 396, 396))))

518             .addGroup(jPanel1Layout.createSequentialGroup()

519                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

520                     .addGroup(jPanel1Layout.createSequentialGroup()

521                         .addGap(432, 432, 432)

522                         .addComponent(progressBarButton))

523                     .addGroup(jPanel1Layout.createSequentialGroup()

524                         .addGap(446, 446, 446)

525                         .addComponent(refreshHistoryButton)))

526                 .addGap(0, 0, Short.MAX_VALUE))

527         );

528         jPanel1Layout.setVerticalGroup(

529             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

530             .addGroup(jPanel1Layout.createSequentialGroup()

531                 .addGap(21, 21, 21)

532                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 287, javax.swing.GroupLayout.PREFERRED_SIZE)

533                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

534                 .addComponent(refreshHistoryButton)

535                 .addGap(48, 48, 48)

536                 .addComponent(progressBarLabel)

537                 .addGap(18, 18, 18)

538                 .addComponent(progressbar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

539                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

540                 .addComponent(progressBarButton)

541                 .addContainerGap(20, Short.MAX_VALUE))

542         );

543 

544         inputTaskTab.addTab("History", jPanel1);

545 

546         taskToSearchForTab.setBackground(new java.awt.Color(102, 102, 102));

547 

548         taskToSearchForLabel.setForeground(new java.awt.Color(255, 255, 255));

549         taskToSearchForLabel.setText("Task to search for");

550 

551         taskToSearchForButton.setText("OK");

552         taskToSearchForButton.addMouseListener(new java.awt.event.MouseAdapter() {

553             public void mouseReleased(java.awt.event.MouseEvent evt) {

554                 taskToSearchForButtonMouseReleased(evt);

555             }

556         });

557 

558         taskToSearchForAreaTF.setColumns(20);

559         taskToSearchForAreaTF.setRows(5);

560         jScrollPane2.setViewportView(taskToSearchForAreaTF);

561 

562         javax.swing.GroupLayout taskToSearchForTabLayout = new javax.swing.GroupLayout(taskToSearchForTab);

563         taskToSearchForTab.setLayout(taskToSearchForTabLayout);

564         taskToSearchForTabLayout.setHorizontalGroup(

565             taskToSearchForTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

566             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, taskToSearchForTabLayout.createSequentialGroup()

567                 .addContainerGap(278, Short.MAX_VALUE)

568                 .addGroup(taskToSearchForTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

569                     .addGroup(taskToSearchForTabLayout.createSequentialGroup()

570                         .addComponent(taskToSearchForLabel)

571                         .addGap(53, 53, 53)

572                         .addComponent(taskToSearchForTF, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)

573                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

574                         .addComponent(taskToSearchForButton))

575                     .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE))

576                 .addGap(275, 275, 275))

577         );

578         taskToSearchForTabLayout.setVerticalGroup(

579             taskToSearchForTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

580             .addGroup(taskToSearchForTabLayout.createSequentialGroup()

581                 .addGap(95, 95, 95)

582                 .addGroup(taskToSearchForTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

583                     .addComponent(taskToSearchForLabel)

584                     .addComponent(taskToSearchForTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

585                     .addComponent(taskToSearchForButton))

586                 .addGap(54, 54, 54)

587                 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)

588                 .addContainerGap(139, Short.MAX_VALUE))

589         );

590 

591         inputTaskTab.addTab("Task to Search For", taskToSearchForTab);

592 

593         fileMenu.setMnemonic('f');

594         fileMenu.setText("File");

595 

596         openMenuItem.setMnemonic('o');

597         openMenuItem.setText("Open");

598         fileMenu.add(openMenuItem);

599 

600         saveMenuItem.setMnemonic('s');

601         saveMenuItem.setText("Save");

602         fileMenu.add(saveMenuItem);

603 

604         saveAsMenuItem.setMnemonic('a');

605         saveAsMenuItem.setText("Save As ...");

606         saveAsMenuItem.setDisplayedMnemonicIndex(5);

607         fileMenu.add(saveAsMenuItem);

608 

609         exitMenuItem.setMnemonic('x');

610         exitMenuItem.setText("Exit");

611         exitMenuItem.addActionListener(new java.awt.event.ActionListener() {

612             public void actionPerformed(java.awt.event.ActionEvent evt) {

613                 exitMenuItemActionPerformed(evt);

614             }

615         });

616         fileMenu.add(exitMenuItem);

617 

618         menuBar.add(fileMenu);

619 

620         editMenu.setMnemonic('e');

621         editMenu.setText("Edit");


654         setJMenuBar(menuBar);

655 

656         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

657         getContentPane().setLayout(layout);

658         layout.setHorizontalGroup(

659             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

660             .addGroup(layout.createSequentialGroup()

661                 .addContainerGap()

662                 .addComponent(inputTaskTab, javax.swing.GroupLayout.PREFERRED_SIZE, 1010, javax.swing.GroupLayout.PREFERRED_SIZE)

663                 .addContainerGap(142, Short.MAX_VALUE))

664         );

665         layout.setVerticalGroup(

666             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

667             .addGroup(layout.createSequentialGroup()

668                 .addGap(31, 31, 31)

669                 .addComponent(inputTaskTab)

670                 .addContainerGap())

671         );

672 

673         pack();

674     }// </editor-fold>                        

675 

868     // Variables declaration - do not modify                     

869     private javax.swing.JMenuItem aboutMenuItem;

870     private javax.swing.JToggleButton completedTaskButton;

871     private javax.swing.JLabel completedTaskLabel;

872     private javax.swing.JTextField completedTaskTF;

873     private javax.swing.JMenuItem contentsMenuItem;

874     private javax.swing.JMenuItem copyMenuItem;

875     private javax.swing.JMenuItem cutMenuItem;

876     private javax.swing.JMenuItem deleteMenuItem;

877     private javax.swing.JTextArea descriptionArea;

878     private javax.swing.JComboBox<String> difficultyLevelComboBox;

879     private javax.swing.JLabel difficultyLevelLabel;

880     private javax.swing.JTable displayTable;

881     private javax.swing.JMenu editMenu;

882     private javax.swing.JMenuItem exitMenuItem;

883     private javax.swing.JMenu fileMenu;

884     private javax.swing.JMenu helpMenu;

885     private javax.swing.JTable historyTable;

886     private javax.swing.JToggleButton inputTaskButton;

922     private javax.swing.JScrollPane toDoListDisplay;

923     private javax.swing.JPanel toDoListDisplayPanel;

924     // End of variables declaration                   

925 

926 }

927