/Users/johnr/Desktop/IA pdf Downloads/Criteria__P__-_Coding_Project_Upload_all_2022-05-03/IA_Fai/src/main/java/MainGUI.java
  1 
  2 import java.util.LinkedList;
  3 import java.util.Set;
  4 
  5 /*
  6  * To change this license header, choose License Headers in Project Properties.
  7  * To change this template file, choose Tools | Templates
  8  * and open the template in the editor.
  9  */
 10 
 11 /**
 12  *
 13  * @author 21020
 14  */
 15 public class MainGUI extends javax.swing.JFrame {
 16 
 17     /**
 18      * Creates new form MainGUI
 19      */
 20     
 21     LinkedList<RealEstateProject> realEstateProject = new LinkedList<RealEstateProject>();
 22     int counter = 0;
 23 
 24             
 25     public MainGUI() {
 26         initComponents();
 27         
 28     }
 29 
 30     /**
 31      * This method is called from within the constructor to initialize the form.
 32      * WARNING: Do NOT modify this code. The content of this method is always
 33      * regenerated by the Form Editor.
 34      */
 35     @SuppressWarnings("unchecked")
 36     
 37     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
 38     private void initComponents() {
 39 
 40         jFrame1 = new javax.swing.JFrame();
 41         jFrame2 = new javax.swing.JFrame();
 42         emailPN = new javax.swing.JTabbedPane();
 43         inputPanel = new javax.swing.JPanel();
 44         nameLabel = new javax.swing.JLabel();
 45         addressLabel = new javax.swing.JLabel();
 46         propertyLabel = new javax.swing.JLabel();
 47         priceLabel = new javax.swing.JLabel();
 48         nameTF = new javax.swing.JTextField();
 49         emailTF = new javax.swing.JTextField();
 50         propertyTF = new javax.swing.JComboBox<>();
 51         inputEnterButton = new javax.swing.JButton();
 52         emailLabel = new javax.swing.JLabel();
 53         priceTF = new javax.swing.JTextField();
 54         addressTF = new javax.swing.JTextField();
 55         jPanel2 = new javax.swing.JPanel();
 56         jScrollPane1 = new javax.swing.JScrollPane();
 57         informationTable = new javax.swing.JTable();
 58         refreshButton = new javax.swing.JButton();
 59         jPanel3 = new javax.swing.JPanel();
 60         nameForLabelTF = new javax.swing.JLabel();
 61         propertyForLabelTF = new javax.swing.JLabel();
 62         addressForLabelTF = new javax.swing.JLabel();
 63         priceForLabelTF = new javax.swing.JLabel();
 64         emailForLabelTF = new javax.swing.JLabel();
 65         nameForSearchTF = new javax.swing.JTextField();
 66         sortAndSearchButton = new javax.swing.JButton();
 67         propertyResultTF = new javax.swing.JLabel();
 68         addressResultTF = new javax.swing.JLabel();
 69         priceResultTF = new javax.swing.JLabel();
 70         emailResultTF = new javax.swing.JLabel();
 71         menuBar = new javax.swing.JMenuBar();
 72         fileMenu = new javax.swing.JMenu();
 73         openMenuItem = new javax.swing.JMenuItem();
 74         saveMenuItem = new javax.swing.JMenuItem();
 75         saveAsMenuItem = new javax.swing.JMenuItem();
 76         exitMenuItem = new javax.swing.JMenuItem();
 77         editMenu = new javax.swing.JMenu();
 78         cutMenuItem = new javax.swing.JMenuItem();
 79         copyMenuItem = new javax.swing.JMenuItem();
 80         pasteMenuItem = new javax.swing.JMenuItem();
 81         deleteMenuItem = new javax.swing.JMenuItem();
 82         helpMenu = new javax.swing.JMenu();
 83         contentsMenuItem = new javax.swing.JMenuItem();
 84         aboutMenuItem = new javax.swing.JMenuItem();
 85 
 86         javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane());
 87         jFrame1.getContentPane().setLayout(jFrame1Layout);
 88         jFrame1Layout.setHorizontalGroup(
 89             jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 90             .addGap(0, 400, Short.MAX_VALUE)
 91         );
 92         jFrame1Layout.setVerticalGroup(
 93             jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 94             .addGap(0, 300, Short.MAX_VALUE)
 95         );
 96 
 97         javax.swing.GroupLayout jFrame2Layout = new javax.swing.GroupLayout(jFrame2.getContentPane());
 98         jFrame2.getContentPane().setLayout(jFrame2Layout);
 99         jFrame2Layout.setHorizontalGroup(
100             jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
101             .addGap(0, 400, Short.MAX_VALUE)
102         );
103         jFrame2Layout.setVerticalGroup(
104             jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
105             .addGap(0, 300, Short.MAX_VALUE)
106         );
107 
108         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
109 
110         nameLabel.setText("Client's Name");
111 
112         addressLabel.setText("Address");
113 
114         propertyLabel.setText("Property");
115 
116         priceLabel.setText("Price");
117 
118         nameTF.addActionListener(new java.awt.event.ActionListener() {
119             public void actionPerformed(java.awt.event.ActionEvent evt) {
120                 nameTFActionPerformed(evt);
121             }
122         });
123 
124         propertyTF.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Choose Property", "1", "2", "3", "4" }));
125 
126         inputEnterButton.setText("Enter");
127         inputEnterButton.addMouseListener(new java.awt.event.MouseAdapter() {
128             public void mouseReleased(java.awt.event.MouseEvent evt) {
129                 inputEnterButtonMouseReleased(evt);
130             }
131         });
132 
133         emailLabel.setText("Email");
134 
135         priceTF.addActionListener(new java.awt.event.ActionListener() {
136             public void actionPerformed(java.awt.event.ActionEvent evt) {
137                 priceTFActionPerformed(evt);
138             }
139         });
140 
141         javax.swing.GroupLayout inputPanelLayout = new javax.swing.GroupLayout(inputPanel);
142         inputPanel.setLayout(inputPanelLayout);
143         inputPanelLayout.setHorizontalGroup(
144             inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
145             .addGroup(inputPanelLayout.createSequentialGroup()
146                 .addGap(142, 142, 142)
147                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
148                     .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
149                         .addComponent(emailLabel)
150                         .addComponent(priceLabel)
151                         .addComponent(addressLabel)
152                         .addComponent(nameLabel))
153                     .addGroup(inputPanelLayout.createSequentialGroup()
154                         .addGap(36, 36, 36)
155                         .addComponent(propertyLabel)))
156                 .addGap(69, 69, 69)
157                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158                     .addGroup(inputPanelLayout.createSequentialGroup()
159                         .addComponent(propertyTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
160                         .addGap(37, 37, 37)
161                         .addComponent(inputEnterButton))
162                     .addComponent(nameTF, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)
163                     .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
164                         .addComponent(priceTF, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)
165                         .addComponent(addressTF, javax.swing.GroupLayout.Alignment.LEADING)
166                         .addComponent(emailTF, javax.swing.GroupLayout.Alignment.LEADING)))
167                 .addContainerGap(104, Short.MAX_VALUE))
168         );
169         inputPanelLayout.setVerticalGroup(
170             inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
171             .addGroup(inputPanelLayout.createSequentialGroup()
172                 .addGap(88, 88, 88)
173                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
174                     .addComponent(nameLabel)
175                     .addComponent(nameTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
176                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
177                     .addGroup(inputPanelLayout.createSequentialGroup()
178                         .addGap(32, 32, 32)
179                         .addComponent(inputEnterButton))
180                     .addGroup(inputPanelLayout.createSequentialGroup()
181                         .addGap(23, 23, 23)
182                         .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
183                             .addComponent(propertyLabel)
184                             .addComponent(propertyTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
185                 .addGap(11, 11, 11)
186                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
187                     .addComponent(addressLabel)
188                     .addComponent(addressTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
189                 .addGap(22, 22, 22)
190                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
191                     .addComponent(priceLabel)
192                     .addComponent(priceTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
193                 .addGap(23, 23, 23)
194                 .addGroup(inputPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195                     .addComponent(emailLabel)
196                     .addComponent(emailTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
197                 .addContainerGap(123, Short.MAX_VALUE))
198         );
199 
200         emailPN.addTab("Input", inputPanel);
201 
202         informationTable.setModel(new javax.swing.table.DefaultTableModel(
203             new Object [][] {
204                 {null, null, null, null, null},
205                 {null, null, null, null, null},
206                 {null, null, null, null, null},
207                 {null, null, null, null, null},
208                 {null, null, null, null, null},
209                 {null, null, null, null, null},
210                 {null, null, null, null, null},
211                 {null, null, null, null, null},
212                 {null, null, null, null, null},
213                 {null, null, null, null, null},
214                 {null, null, null, null, null},
215                 {null, null, null, null, null},
216                 {null, null, null, null, null},
217                 {null, null, null, null, null},
218                 {null, null, null, null, null},
219                 {null, null, null, null, null},
220                 {null, null, null, null, null},
221                 {null, null, null, null, null},
222                 {null, null, null, null, null},
223                 {null, null, null, null, null},
224                 {null, null, null, null, null},
225                 {null, null, null, null, null},
226                 {null, null, null, null, null},
227                 {null, null, null, null, null},
228                 {null, null, null, null, null},
229                 {null, null, null, null, null},
230                 {null, null, null, null, null},
231                 {null, null, null, null, null},
232                 {null, null, null, null, null},
233                 {null, null, null, null, null}
234             },
235             new String [] {
236                 "Client's Name", "Property", "Address", "Price", "Email"
237             }
238         ) {
239             Class[] types = new Class [] {
240                 java.lang.String.class, java.lang.String.class, java.lang.Object.class, java.lang.Double.class, java.lang.String.class
241             };
242 
243             public Class getColumnClass(int columnIndex) {
244                 return types [columnIndex];
245             }
246         });
247         informationTable.setGridColor(new java.awt.Color(102, 102, 102));
248         jScrollPane1.setViewportView(informationTable);
249 
250         refreshButton.setText("Refresh");
251         refreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
252             public void mouseReleased(java.awt.event.MouseEvent evt) {
253                 refreshButtonMouseReleased(evt);
254             }
255         });
256         refreshButton.addActionListener(new java.awt.event.ActionListener() {
257             public void actionPerformed(java.awt.event.ActionEvent evt) {
258                 refreshButtonActionPerformed(evt);
259             }
260         });
261 
262         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
263         jPanel2.setLayout(jPanel2Layout);
264         jPanel2Layout.setHorizontalGroup(
265             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
266             .addGroup(jPanel2Layout.createSequentialGroup()
267                 .addGap(37, 37, 37)
268                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
269                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE)
270                 .addComponent(refreshButton)
271                 .addGap(33, 33, 33))
272         );
273         jPanel2Layout.setVerticalGroup(
274             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
275             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
276                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
277                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
278                 .addContainerGap())
279             .addGroup(jPanel2Layout.createSequentialGroup()
280                 .addGap(16, 16, 16)
281                 .addComponent(refreshButton)
282                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
283         );
284 
285         emailPN.addTab("Display", jPanel2);
286 
287         jPanel3.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
288 
289         nameForLabelTF.setText("Client's Name");
290 
291         propertyForLabelTF.setText("Property");
292 
293         addressForLabelTF.setText("Address");
294 
295         priceForLabelTF.setText("Price");
296 
297         emailForLabelTF.setText("Client's Email");
298 
299         sortAndSearchButton.setText("Search");
300         sortAndSearchButton.addMouseListener(new java.awt.event.MouseAdapter() {
301             public void mouseReleased(java.awt.event.MouseEvent evt) {
302                 sortAndSearchButtonMouseReleased(evt);
303             }
304         });
305 
306         propertyResultTF.setBackground(new java.awt.Color(255, 255, 255));
307         propertyResultTF.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
308 
309         addressResultTF.setBackground(new java.awt.Color(255, 255, 255));
310         addressResultTF.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
311 
312         priceResultTF.setBackground(new java.awt.Color(255, 255, 255));
313         priceResultTF.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
314 
315         emailResultTF.setBackground(new java.awt.Color(255, 255, 255));
316         emailResultTF.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
317 
318         javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
319         jPanel3.setLayout(jPanel3Layout);
320         jPanel3Layout.setHorizontalGroup(
321             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
322             .addGroup(jPanel3Layout.createSequentialGroup()
323                 .addGap(166, 166, 166)
324                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
325                     .addComponent(nameForLabelTF)
326                     .addComponent(propertyForLabelTF)
327                     .addComponent(addressForLabelTF)
328                     .addComponent(priceForLabelTF)
329                     .addComponent(emailForLabelTF))
330                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 80, Short.MAX_VALUE)
331                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
332                     .addComponent(emailResultTF, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
333                     .addComponent(priceResultTF, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
334                     .addComponent(addressResultTF, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
335                     .addComponent(propertyResultTF, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
336                     .addComponent(nameForSearchTF, javax.swing.GroupLayout.DEFAULT_SIZE, 94, Short.MAX_VALUE))
337                 .addGap(103, 103, 103)
338                 .addComponent(sortAndSearchButton)
339                 .addGap(58, 58, 58))
340         );
341         jPanel3Layout.setVerticalGroup(
342             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
343             .addGroup(jPanel3Layout.createSequentialGroup()
344                 .addGap(61, 61, 61)
345                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
346                     .addComponent(nameForLabelTF)
347                     .addComponent(nameForSearchTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
348                 .addGap(25, 25, 25)
349                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
350                     .addComponent(propertyResultTF, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)
351                     .addComponent(propertyForLabelTF))
352                 .addGap(23, 23, 23)
353                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
354                     .addComponent(sortAndSearchButton)
355                     .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
356                         .addComponent(addressResultTF, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
357                         .addComponent(addressForLabelTF, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
358                 .addGap(22, 22, 22)
359                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
360                     .addComponent(priceForLabelTF)
361                     .addComponent(priceResultTF, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE))
362                 .addGap(27, 27, 27)
363                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
364                     .addComponent(emailForLabelTF)
365                     .addComponent(emailResultTF, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE))
366                 .addContainerGap(164, Short.MAX_VALUE))
367         );
368 
369         emailPN.addTab("Sort and Search", jPanel3);
370 
371         fileMenu.setMnemonic('f');
372         fileMenu.setText("File");
373 
374         openMenuItem.setMnemonic('o');
375         openMenuItem.setText("Open");
376         fileMenu.add(openMenuItem);
377 
378         saveMenuItem.setMnemonic('s');
379         saveMenuItem.setText("Save");
380         fileMenu.add(saveMenuItem);
381 
382         saveAsMenuItem.setMnemonic('a');
383         saveAsMenuItem.setText("Save As ...");
384         saveAsMenuItem.setDisplayedMnemonicIndex(5);
385         fileMenu.add(saveAsMenuItem);
386 
387         exitMenuItem.setMnemonic('x');
388         exitMenuItem.setText("Exit");
389         exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
390             public void actionPerformed(java.awt.event.ActionEvent evt) {
391                 exitMenuItemActionPerformed(evt);
392             }
393         });
394         fileMenu.add(exitMenuItem);
395 
396         menuBar.add(fileMenu);
397 
398         editMenu.setMnemonic('e');
399         editMenu.setText("Edit");
400 
401         cutMenuItem.setMnemonic('t');
402         cutMenuItem.setText("Cut");
403         editMenu.add(cutMenuItem);
404 
405         copyMenuItem.setMnemonic('y');
406         copyMenuItem.setText("Copy");
407         editMenu.add(copyMenuItem);
408 
409         pasteMenuItem.setMnemonic('p');
410         pasteMenuItem.setText("Paste");
411         editMenu.add(pasteMenuItem);
412 
413         deleteMenuItem.setMnemonic('d');
414         deleteMenuItem.setText("Delete");
415         editMenu.add(deleteMenuItem);
416 
417         menuBar.add(editMenu);
418 
419         helpMenu.setMnemonic('h');
420         helpMenu.setText("Help");
421 
422         contentsMenuItem.setMnemonic('c');
423         contentsMenuItem.setText("Contents");
424         helpMenu.add(contentsMenuItem);
425 
426         aboutMenuItem.setMnemonic('a');
427         aboutMenuItem.setText("About");
428         helpMenu.add(aboutMenuItem);
429 
430         menuBar.add(helpMenu);
431 
432         setJMenuBar(menuBar);
433 
434         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
435         getContentPane().setLayout(layout);
436         layout.setHorizontalGroup(
437             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
438             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
439                 .addContainerGap()
440                 .addComponent(emailPN)
441                 .addContainerGap())
442         );
443         layout.setVerticalGroup(
444             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
445             .addGroup(layout.createSequentialGroup()
446                 .addComponent(emailPN, javax.swing.GroupLayout.PREFERRED_SIZE, 473, javax.swing.GroupLayout.PREFERRED_SIZE)
447                 .addGap(0, 21, Short.MAX_VALUE))
448         );
449 
450         pack();
451     }// </editor-fold>                        
452 
453     private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {                                             
454         System.exit(0);
455     }                                            
456 
457     private void sortAndSearchButtonMouseReleased(java.awt.event.MouseEvent evt) {                                                  
458         // TODO add your handling code here:
459         for(int i = 0; i < realEstateProject.size(); i++){
460             if(realEstateProject.get(i).getName().equals(nameForSearchTF.getText())){
461                 propertyResultTF.setText(realEstateProject.get(i).getProperty());
462                 addressResultTF.setText(realEstateProject.get(i).getAddress());
463                 priceResultTF.setText(realEstateProject.get(i).getPrice()+"");
464                 emailResultTF.setText(realEstateProject.get(i).getEmail());
465             }
466         }
467 
468     }                                                 
469 
470     private void refreshButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
471         // TODO add your handling code here:
472     }                                             
473 
474     private void refreshButtonMouseReleased(java.awt.event.MouseEvent evt) {                                            
475         // TODO add your handling code here:
476         for(int row = 0; row < realEstateProject.size(); row++){
477             informationTable.setValueAt(realEstateProject.get(row).getName(), row, 0);
478             informationTable.setValueAt(realEstateProject.get(row).getProperty(), row, 1);
479             informationTable.setValueAt(realEstateProject.get(row).getAddress(), row, 2);
480             informationTable.setValueAt(realEstateProject.get(row).getPrice(), row, 3);
481             informationTable.setValueAt(realEstateProject.get(row).getEmail(), row, 4);
482         }
483 
484     }                                           
485 
486     private void priceTFActionPerformed(java.awt.event.ActionEvent evt) {                                        
487         // TODO add your handling code here:
488     }                                       
489 
490     private void inputEnterButtonMouseReleased(java.awt.event.MouseEvent evt) {                                               
491         // TODO add your handling code here:
492         RealEstateProject  r = new RealEstateProject(nameTF.getText(), propertyTF.getSelectedItem()+"", addressTF.getText(), Integer.parseInt(priceTF.getText()+""), emailTF.getText());
493         realEstateProject.add(r);
494         nameTF.setText("");
495         addressTF.setText("");
496         propertyTF.setSelectedIndex(0);
497         priceTF.setText("");
498         emailTF.setText("");
499     }                                              
500 
501     private void nameTFActionPerformed(java.awt.event.ActionEvent evt) {                                       
502         // TODO add your handling code here:
503     }                                      
504 
505     
506     /**
507      * @param args the command line arguments
508      */
509     public static void main(String args[]) {
510         /* Set the Nimbus look and feel */
511         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
512         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
513          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
514          */
515         try {
516             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
517                 if ("Nimbus".equals(info.getName())) {
518                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
519                     break;
520                 }
521             }
522         } catch (ClassNotFoundException ex) {
523             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
524         } catch (InstantiationException ex) {
525             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
526         } catch (IllegalAccessException ex) {
527             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
528         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
529             java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
530         }
531         //</editor-fold>
532 
533         /* Create and display the form */
534         java.awt.EventQueue.invokeLater(new Runnable() {
535             public void run() {
536                 new MainGUI().setVisible(true);
537             }
538         });
539     }
540 
541     // Variables declaration - do not modify                     
542     private javax.swing.JMenuItem aboutMenuItem;
543     private javax.swing.JLabel addressForLabelTF;
544     private javax.swing.JLabel addressLabel;
545     private javax.swing.JLabel addressResultTF;
546     private javax.swing.JTextField addressTF;
547     private javax.swing.JMenuItem contentsMenuItem;
548     private javax.swing.JMenuItem copyMenuItem;
549     private javax.swing.JMenuItem cutMenuItem;
550     private javax.swing.JMenuItem deleteMenuItem;
551     private javax.swing.JMenu editMenu;
552     private javax.swing.JLabel emailForLabelTF;
553     private javax.swing.JLabel emailLabel;
554     private javax.swing.JTabbedPane emailPN;
555     private javax.swing.JLabel emailResultTF;
556     private javax.swing.JTextField emailTF;
557     private javax.swing.JMenuItem exitMenuItem;
558     private javax.swing.JMenu fileMenu;
559     private javax.swing.JMenu helpMenu;
560     private javax.swing.JTable informationTable;
561     private javax.swing.JButton inputEnterButton;
562     private javax.swing.JPanel inputPanel;
563     private javax.swing.JFrame jFrame1;
564     private javax.swing.JFrame jFrame2;
565     private javax.swing.JPanel jPanel2;
566     private javax.swing.JPanel jPanel3;
567     private javax.swing.JScrollPane jScrollPane1;
568     private javax.swing.JMenuBar menuBar;
569     private javax.swing.JLabel nameForLabelTF;
570     private javax.swing.JTextField nameForSearchTF;
571     private javax.swing.JLabel nameLabel;
572     private javax.swing.JTextField nameTF;
573     private javax.swing.JMenuItem openMenuItem;
574     private javax.swing.JMenuItem pasteMenuItem;
575     private javax.swing.JLabel priceForLabelTF;
576     private javax.swing.JLabel priceLabel;
577     private javax.swing.JLabel priceResultTF;
578     private javax.swing.JTextField priceTF;
579     private javax.swing.JLabel propertyForLabelTF;
580     private javax.swing.JLabel propertyLabel;
581     private javax.swing.JLabel propertyResultTF;
582     private javax.swing.JComboBox<String> propertyTF;
583     private javax.swing.JButton refreshButton;
584     private javax.swing.JMenuItem saveAsMenuItem;
585     private javax.swing.JMenuItem saveMenuItem;
586     private javax.swing.JButton sortAndSearchButton;
587     // End of variables declaration                   
588 
589 }
590