/Users/johnr/Desktop/IA pdf Downloads/Criteria__P__-_Coding_Project_Upload_all_2022-05-03/IAone_Prae/src/main/java/IAone/Login.java
   1 package IAone; 
   2 
   3 import java.sql.*; 
   4 import javax.swing.*;
   5 import java.io.BufferedReader;
   6 import java.io.InputStreamReader;
   7 import java.io.IOException;
   8 import java.util.Random;
   9 import java.math.BigInteger;
  10 import java.io.File;
  11 import java.nio.charset.StandardCharsets;
  12 import java.util.LinkedList;
  13 import java.util.Scanner;
  14 import java.util.*; 
  15 import javax.swing.table.DefaultTableModel;
  16 import java.time.LocalDate;
  17 
  18  
  19 public class Login extends javax.swing.JFrame {
  20 
  21     /**
  22      * Creates new form Login
  23      */
  24     public long x;
  25     public long f; 
  26     public String nmt; 
  27     public int a;
  28     public int aa;
  29     public int premiumNumber;
  30     public int age;
  31     public String [][] info;
  32     public LinkedList<String> policyInformationList = new LinkedList<String>();
  33     public LinkedList<String> summaryList = new LinkedList<String>();
  34     public LinkedList<String> healthList = new LinkedList<String>(); 
  35     
  36     public class scanner{
  37         /** String Pattern **/
  38     private String pat;
  39     /** pattern hash value **/
  40     private long patHash;
  41     /** pattern length **/
  42     private int M;
  43     /** Large prime **/
  44     private long Q;
  45     /** radix **/
  46     private int R;
  47     /** R^(M-1) % Q **/
  48     private long RM;
  49 
  50     /** Constructor **/
  51     public scanner(String txt, String pat, int lung)
  52     {
  53         this.pat = pat;
  54         R = 256;
  55         M = pat.length();
  56         Q = longRandomPrime();
  57         int ling = pat.length();
  58         
  59         /** precompute R^(M-1) % Q for use in removing leading digit **/
  60         RM = 1;
  61         for (int i = 1; i <= M-1; i++)
  62             RM = (R * RM) % Q;
  63         patHash = hash(pat, M);
  64         int pos = search(txt);
  65         if (pos == -1){
  66             System.out.println("\nNo Match\n");
  67             policyInformationList.add(Integer.toString(0));
  68         }
  69         else{
  70             System.out.println("Pattern found at position : "+ pos);
  71             policyInformationList.add(nmt.substring(pos+ling, pos+ling+lung));
  72             System.out.println(nmt.substring(pos+ling, pos+ling+lung));
  73         }
  74     }
  75     /** Compute hash **/
  76     public long hash(String key, int M)
  77     {
  78         long h = 0;
  79         for (int j = 0; j < M; j++)
  80             h = (R * h + key.charAt(j)) % Q;
  81         return h;
  82     }
  83     /** Funtion check **/
  84     public boolean check(String txt, int i)
  85     {
  86         for (int j = 0; j < M; j++)
  87             if (pat.charAt(j) != txt.charAt(i + j))
  88                 return false;
  89         return true;
  90     }
  91     /** Funtion to check for exact match**/
  92     public int search(String txt)
  93     {
  94         int N = txt.length();
  95         if (N < M) return N;
  96         long txtHash = hash(txt, M);
  97         /** check for match at start **/
  98         if ((patHash == txtHash) && check(txt, 0))
  99             return 0;
 100         /** check for hash match. if hash match then check for exact match**/
 101         for (int i = M; i < N; i++)
 102         {
 103             // Remove leading digit, add trailing digit, check for match.
 104             txtHash = (txtHash + Q - RM * txt.charAt(i - M) % Q) % Q;
 105             txtHash = (txtHash * R + txt.charAt(i)) % Q;
 106             // match
 107             int offset = i - M + 1;
 108             if ((patHash == txtHash) && check(txt, offset))
 109                 return offset;
 110         }
 111         /** no match **/
 112         return -1;
 113     }
 114     /** generate a random 31 bit prime **/
 115     public long longRandomPrime()
 116     {
 117         BigInteger prime = BigInteger.probablePrime(31, new Random());
 118         return prime.longValue();
 119     }
 120 }
 121     Set<String> s;
 122     public Login() {
 123         initComponents();
 124     }
 125     
 126     
 127 
 128     /**
 129      * This method is called from within the constructor to initialize the form.
 130      * WARNING: Do NOT modify this code. The content of this method is always
 131      * regenerated by the Form Editor.
 132      */
 133     @SuppressWarnings("unchecked")
 134     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
 135     private void initComponents() {
 136 
 137         jPanel1 = new javax.swing.JPanel();
 138         jPanel2 = new javax.swing.JPanel();
 139         jTabbedPane1 = new javax.swing.JTabbedPane();
 140         jTabbedPane2 = new javax.swing.JTabbedPane();
 141         jPanel10 = new javax.swing.JPanel();
 142         jScrollPane6 = new javax.swing.JScrollPane();
 143         jTable6 = new javax.swing.JTable();
 144         jButton6 = new javax.swing.JButton();
 145         jTabbedPane3 = new javax.swing.JTabbedPane();
 146         jPanel4 = new javax.swing.JPanel();
 147         addPolicy = new javax.swing.JTextField();
 148         EnterInfo = new javax.swing.JButton();
 149         jPanel5 = new javax.swing.JPanel();
 150         jLabel1 = new javax.swing.JLabel();
 151         jLabel2 = new javax.swing.JLabel();
 152         jLabel3 = new javax.swing.JLabel();
 153         jLabel4 = new javax.swing.JLabel();
 154         jLabel5 = new javax.swing.JLabel();
 155         jLabel6 = new javax.swing.JLabel();
 156         jLabel7 = new javax.swing.JLabel();
 157         jLabel8 = new javax.swing.JLabel();
 158         jLabel9 = new javax.swing.JLabel();
 159         jLabel10 = new javax.swing.JLabel();
 160         jButton2 = new javax.swing.JButton();
 161         jTextField1 = new javax.swing.JTextField();
 162         jTextField2 = new javax.swing.JTextField();
 163         jTextField3 = new javax.swing.JTextField();
 164         jTextField4 = new javax.swing.JTextField();
 165         jTextField5 = new javax.swing.JTextField();
 166         jTextField6 = new javax.swing.JTextField();
 167         jTextField7 = new javax.swing.JTextField();
 168         jTextField8 = new javax.swing.JTextField();
 169         jTextField9 = new javax.swing.JTextField();
 170         jTextField10 = new javax.swing.JTextField();
 171         jCheckBox1 = new javax.swing.JCheckBox();
 172         jLabel11 = new javax.swing.JLabel();
 173         jTextField11 = new javax.swing.JTextField();
 174         jButton1 = new javax.swing.JButton();
 175         jPanel6 = new javax.swing.JPanel();
 176         jScrollPane1 = new javax.swing.JScrollPane();
 177         jTable1 = new javax.swing.JTable();
 178         jPanel3 = new javax.swing.JPanel();
 179         jScrollPane2 = new javax.swing.JScrollPane();
 180         jTable2 = new javax.swing.JTable();
 181         jButton3 = new javax.swing.JButton();
 182         jPanel9 = new javax.swing.JPanel();
 183         jScrollPane5 = new javax.swing.JScrollPane();
 184         jTable5 = new javax.swing.JTable();
 185         jButton5 = new javax.swing.JButton();
 186         jTextField12 = new javax.swing.JTextField();
 187         jButton4 = new javax.swing.JButton();
 188 
 189         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
 190         jPanel1.setLayout(jPanel1Layout);
 191         jPanel1Layout.setHorizontalGroup(
 192             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 193             .addGap(0, 100, Short.MAX_VALUE)
 194         );
 195         jPanel1Layout.setVerticalGroup(
 196             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 197             .addGap(0, 100, Short.MAX_VALUE)
 198         );
 199 
 200         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
 201         jPanel2.setLayout(jPanel2Layout);
 202         jPanel2Layout.setHorizontalGroup(
 203             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 204             .addGap(0, 100, Short.MAX_VALUE)
 205         );
 206         jPanel2Layout.setVerticalGroup(
 207             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 208             .addGap(0, 100, Short.MAX_VALUE)
 209         );
 210 
 211         jTable6.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
 212         jTable6.setModel(new javax.swing.table.DefaultTableModel(
 213             new Object [][] {
 214                 {"แบบประกัน"},
 215                 {"เลขกรมธรรม์"},
 216                 {"หมายเหตุ"},
 217                 {"เริ่มสัญญา"},
 218                 {"ครบสัญญา"},
 219                 {"ทุนประกัน"},
 220                 {"เบี้ยประกันหลักต่อปี"},
 221                 {"จำนวนปีที่ฝากไปแล้ว"},
 222                 {"จำนวนเงินที่ฝากไปแล้ว"},
 223                 {"จำนวนปีที่ยังต้องฝากต่อ"},
 224                 {"จำนวนเงินที่ต้องฝากต่อ"},
 225                 {"รวมทั้งสิน"},
 226                 {"ปี พ.ศ. (อายุ)"}
 227             },
 228             new String [] {
 229                 "บริษัท"
 230             }
 231         ));
 232         jTable6.setGridColor(new java.awt.Color(0, 0, 0));
 233         jScrollPane6.setViewportView(jTable6);
 234 
 235         jButton6.setText("Add Column");
 236         jButton6.addMouseListener(new java.awt.event.MouseAdapter() {
 237             public void mouseReleased(java.awt.event.MouseEvent evt) {
 238                 jButton6MouseReleased(evt);
 239             }
 240         });
 241 
 242         javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
 243         jPanel10.setLayout(jPanel10Layout);
 244         jPanel10Layout.setHorizontalGroup(
 245             jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 246             .addGroup(jPanel10Layout.createSequentialGroup()
 247                 .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 248                     .addGroup(jPanel10Layout.createSequentialGroup()
 249                         .addGap(311, 311, 311)
 250                         .addComponent(jButton6))
 251                     .addGroup(jPanel10Layout.createSequentialGroup()
 252                         .addGap(14, 14, 14)
 253                         .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 698, javax.swing.GroupLayout.PREFERRED_SIZE)))
 254                 .addContainerGap(16, Short.MAX_VALUE))
 255         );
 256         jPanel10Layout.setVerticalGroup(
 257             jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 258             .addGroup(jPanel10Layout.createSequentialGroup()
 259                 .addGap(15, 15, 15)
 260                 .addComponent(jButton6)
 261                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 262                 .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 263                 .addContainerGap(86, Short.MAX_VALUE))
 264         );
 265 
 266         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 267 
 268         addPolicy.setText("Fill in information");
 269         addPolicy.addInputMethodListener(new java.awt.event.InputMethodListener() {
 270             public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
 271             }
 272             public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {
 273                 addPolicyInputMethodTextChanged(evt);
 274             }
 275         });
 276         addPolicy.addActionListener(new java.awt.event.ActionListener() {
 277             public void actionPerformed(java.awt.event.ActionEvent evt) {
 278                 addPolicyActionPerformed(evt);
 279             }
 280         });
 281 
 282         EnterInfo.setText("Enter");
 283         EnterInfo.addMouseListener(new java.awt.event.MouseAdapter() {
 284             public void mouseReleased(java.awt.event.MouseEvent evt) {
 285                 EnterInfoMouseReleased(evt);
 286             }
 287         });
 288         EnterInfo.addActionListener(new java.awt.event.ActionListener() {
 289             public void actionPerformed(java.awt.event.ActionEvent evt) {
 290                 EnterInfoActionPerformed(evt);
 291             }
 292         });
 293 
 294         javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
 295         jPanel4.setLayout(jPanel4Layout);
 296         jPanel4Layout.setHorizontalGroup(
 297             jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 298             .addGroup(jPanel4Layout.createSequentialGroup()
 299                 .addGap(19, 19, 19)
 300                 .addComponent(addPolicy, javax.swing.GroupLayout.DEFAULT_SIZE, 803, Short.MAX_VALUE)
 301                 .addContainerGap())
 302             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
 303                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 304                 .addComponent(EnterInfo)
 305                 .addGap(374, 374, 374))
 306         );
 307         jPanel4Layout.setVerticalGroup(
 308             jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 309             .addGroup(jPanel4Layout.createSequentialGroup()
 310                 .addGap(101, 101, 101)
 311                 .addComponent(addPolicy, javax.swing.GroupLayout.PREFERRED_SIZE, 274, javax.swing.GroupLayout.PREFERRED_SIZE)
 312                 .addGap(18, 18, 18)
 313                 .addComponent(EnterInfo)
 314                 .addContainerGap(213, Short.MAX_VALUE))
 315         );
 316 
 317         jTabbedPane3.addTab("Import", jPanel4);
 318 
 319         jLabel1.setText("Company Name: ");
 320 
 321         jLabel2.setText("Policy Passcode:");
 322 
 323         jLabel3.setText("Policy Name: ");
 324 
 325         jLabel4.setText("Start Date:");
 326 
 327         jLabel5.setText("Due Date:");
 328 
 329         jLabel6.setText("Paid Premium:");
 330 
 331         jLabel7.setText("Premium:");
 332 
 333         jLabel8.setText("Policy Value: ");
 334 
 335         jLabel9.setText("Recieved Cash Value:");
 336 
 337         jLabel10.setText("Health Benefits:");
 338 
 339         jButton2.setText("Add Row");
 340         jButton2.addActionListener(new java.awt.event.ActionListener() {
 341             public void actionPerformed(java.awt.event.ActionEvent evt) {
 342                 jButton2ActionPerformed(evt);
 343             }
 344         });
 345 
 346         jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
 347             public void keyReleased(java.awt.event.KeyEvent evt) {
 348                 jTextField1KeyReleased(evt);
 349             }
 350         });
 351 
 352         jTextField2.addKeyListener(new java.awt.event.KeyAdapter() {
 353             public void keyPressed(java.awt.event.KeyEvent evt) {
 354                 jTextField2KeyPressed(evt);
 355             }
 356             public void keyReleased(java.awt.event.KeyEvent evt) {
 357                 jTextField2KeyReleased(evt);
 358             }
 359         });
 360 
 361         jTextField3.addKeyListener(new java.awt.event.KeyAdapter() {
 362             public void keyReleased(java.awt.event.KeyEvent evt) {
 363                 jTextField3KeyReleased(evt);
 364             }
 365         });
 366 
 367         jTextField4.addKeyListener(new java.awt.event.KeyAdapter() {
 368             public void keyReleased(java.awt.event.KeyEvent evt) {
 369                 jTextField4KeyReleased(evt);
 370             }
 371         });
 372 
 373         jTextField5.addKeyListener(new java.awt.event.KeyAdapter() {
 374             public void keyReleased(java.awt.event.KeyEvent evt) {
 375                 jTextField5KeyReleased(evt);
 376             }
 377         });
 378 
 379         jTextField6.addKeyListener(new java.awt.event.KeyAdapter() {
 380             public void keyReleased(java.awt.event.KeyEvent evt) {
 381                 jTextField6KeyReleased(evt);
 382             }
 383         });
 384 
 385         jTextField7.addKeyListener(new java.awt.event.KeyAdapter() {
 386             public void keyReleased(java.awt.event.KeyEvent evt) {
 387                 jTextField7KeyReleased(evt);
 388             }
 389         });
 390 
 391         jTextField8.addKeyListener(new java.awt.event.KeyAdapter() {
 392             public void keyReleased(java.awt.event.KeyEvent evt) {
 393                 jTextField8KeyReleased(evt);
 394             }
 395         });
 396 
 397         jTextField9.addKeyListener(new java.awt.event.KeyAdapter() {
 398             public void keyReleased(java.awt.event.KeyEvent evt) {
 399                 jTextField9KeyReleased(evt);
 400             }
 401         });
 402 
 403         jTextField10.addKeyListener(new java.awt.event.KeyAdapter() {
 404             public void keyReleased(java.awt.event.KeyEvent evt) {
 405                 jTextField10KeyReleased(evt);
 406             }
 407         });
 408 
 409         jCheckBox1.setText("Annually");
 410 
 411         jLabel11.setText("Percentage: ");
 412 
 413         jButton1.setText("Calculate");
 414         jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
 415             public void mouseReleased(java.awt.event.MouseEvent evt) {
 416                 jButton1MouseReleased(evt);
 417             }
 418         });
 419 
 420         javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
 421         jPanel5.setLayout(jPanel5Layout);
 422         jPanel5Layout.setHorizontalGroup(
 423             jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 424             .addGroup(jPanel5Layout.createSequentialGroup()
 425                 .addContainerGap(65, Short.MAX_VALUE)
 426                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 427                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
 428                         .addComponent(jButton2)
 429                         .addGap(382, 382, 382))
 430                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
 431                         .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 432                             .addComponent(jLabel9)
 433                             .addComponent(jLabel4)
 434                             .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 435                                 .addComponent(jLabel1)
 436                                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 437                                     .addComponent(jLabel3)
 438                                     .addComponent(jLabel2)))
 439                             .addComponent(jLabel5)
 440                             .addComponent(jLabel6)
 441                             .addComponent(jLabel7)
 442                             .addComponent(jLabel8)
 443                             .addComponent(jLabel11)
 444                             .addComponent(jLabel10))
 445                         .addGap(43, 43, 43)
 446                         .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 447                             .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)
 448                             .addGroup(jPanel5Layout.createSequentialGroup()
 449                                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 450                                     .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 451                                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 452                                     .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 453                                     .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 454                                     .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 455                                     .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 456                                     .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
 457                                     .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE))
 458                                 .addGap(68, 68, 68)
 459                                 .addComponent(jCheckBox1))
 460                             .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
 461                                 .addGroup(jPanel5Layout.createSequentialGroup()
 462                                     .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)
 463                                     .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 464                                     .addComponent(jButton1))
 465                                 .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)))
 466                         .addGap(129, 129, 129))))
 467         );
 468         jPanel5Layout.setVerticalGroup(
 469             jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 470             .addGroup(jPanel5Layout.createSequentialGroup()
 471                 .addGap(36, 36, 36)
 472                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 473                     .addComponent(jLabel1)
 474                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 475                 .addGap(18, 18, 18)
 476                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 477                     .addComponent(jLabel2)
 478                     .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 479                 .addGap(18, 18, 18)
 480                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 481                     .addComponent(jLabel3)
 482                     .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 483                 .addGap(18, 18, 18)
 484                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 485                     .addComponent(jLabel4)
 486                     .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 487                 .addGap(18, 18, 18)
 488                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 489                     .addComponent(jLabel5)
 490                     .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 491                 .addGap(18, 18, 18)
 492                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 493                     .addComponent(jLabel6)
 494                     .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
 495                 .addGap(18, 18, 18)
 496                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 497                     .addComponent(jLabel7)
 498                     .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 499                     .addComponent(jCheckBox1))
 500                 .addGap(18, 18, 18)
 501                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 502                     .addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 503                     .addComponent(jLabel8))
 504                 .addGap(18, 18, 18)
 505                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 506                     .addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
 507                     .addComponent(jLabel11))
 508                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 509                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 510                     .addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 511                     .addComponent(jButton1)
 512                     .addComponent(jLabel9))
 513                 .addGap(18, 18, 18)
 514                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 515                     .addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 516                     .addComponent(jLabel10))
 517                 .addGap(45, 45, 45)
 518                 .addComponent(jButton2)
 519                 .addContainerGap(68, Short.MAX_VALUE))
 520         );
 521 
 522         jTabbedPane3.addTab("Input", jPanel5);
 523 
 524         jTable1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
 525         jTable1.setModel(new javax.swing.table.DefaultTableModel(
 526             new Object [][] {
 527 
 528             },
 529             new String [] {
 530                 "Policy Number ", "Duration", "Policy Value", "Premium", "Profits", "Returned Cash Values", "Present Value"
 531             }
 532         ));
 533         jTable1.setGridColor(new java.awt.Color(0, 0, 0));
 534         jScrollPane1.setViewportView(jTable1);
 535 
 536         javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
 537         jPanel6.setLayout(jPanel6Layout);
 538         jPanel6Layout.setHorizontalGroup(
 539             jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 540             .addGroup(jPanel6Layout.createSequentialGroup()
 541                 .addContainerGap()
 542                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 816, Short.MAX_VALUE)
 543                 .addContainerGap())
 544         );
 545         jPanel6Layout.setVerticalGroup(
 546             jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 547             .addGroup(jPanel6Layout.createSequentialGroup()
 548                 .addGap(25, 25, 25)
 549                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE)
 550                 .addContainerGap(200, Short.MAX_VALUE))
 551         );
 552 
 553         jTabbedPane3.addTab("Overall", jPanel6);
 554 
 555         jTable2.setModel(new javax.swing.table.DefaultTableModel(
 556             new Object [][] {
 557 
 558             },
 559             new String [] {
 560                 "Company", "Premium", "Paid Premium ", "Unpaid Premium", "Years", "Savings", "Revenue", "Profits"
 561             }
 562         ));
 563         jScrollPane2.setViewportView(jTable2);
 564 
 565         jButton3.setText("Add Row");
 566         jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
 567             public void mouseReleased(java.awt.event.MouseEvent evt) {
 568                 jButton3MouseReleased(evt);
 569             }
 570         });
 571         jButton3.addActionListener(new java.awt.event.ActionListener() {
 572             public void actionPerformed(java.awt.event.ActionEvent evt) {
 573                 jButton3ActionPerformed(evt);
 574             }
 575         });
 576 
 577         javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
 578         jPanel3.setLayout(jPanel3Layout);
 579         jPanel3Layout.setHorizontalGroup(
 580             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 581             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
 582                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 583                 .addComponent(jButton3)
 584                 .addGap(351, 351, 351))
 585             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
 586                 .addContainerGap()
 587                 .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 816, Short.MAX_VALUE)
 588                 .addContainerGap())
 589         );
 590         jPanel3Layout.setVerticalGroup(
 591             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 592             .addGroup(jPanel3Layout.createSequentialGroup()
 593                 .addGap(29, 29, 29)
 594                 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 479, javax.swing.GroupLayout.PREFERRED_SIZE)
 595                 .addGap(18, 18, 18)
 596                 .addComponent(jButton3)
 597                 .addContainerGap(80, Short.MAX_VALUE))
 598         );
 599 
 600         jTabbedPane3.addTab("Summary", jPanel3);
 601 
 602         jTable5.setModel(new javax.swing.table.DefaultTableModel(
 603             new Object [][] {
 604 
 605             },
 606             new String [] {
 607                 "Company", "Severe Diseases", "Patients Room Rates", "Accidents", "Incidents", "Sub-Payment", "Outpatients", "Duration"
 608             }
 609         ));
 610         jScrollPane5.setViewportView(jTable5);
 611 
 612         jButton5.setText("Add Row");
 613         jButton5.addMouseListener(new java.awt.event.MouseAdapter() {
 614             public void mouseReleased(java.awt.event.MouseEvent evt) {
 615                 jButton5MouseReleased(evt);
 616             }
 617         });
 618 
 619         jButton4.setText("Add Age");
 620 
 621         javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
 622         jPanel9.setLayout(jPanel9Layout);
 623         jPanel9Layout.setHorizontalGroup(
 624             jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 625             .addGroup(jPanel9Layout.createSequentialGroup()
 626                 .addContainerGap(14, Short.MAX_VALUE)
 627                 .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 628                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel9Layout.createSequentialGroup()
 629                         .addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, 148, javax.swing.GroupLayout.PREFERRED_SIZE)
 630                         .addGap(65, 65, 65)
 631                         .addComponent(jButton4)
 632                         .addGap(104, 104, 104)
 633                         .addComponent(jButton5)
 634                         .addGap(155, 155, 155))
 635                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel9Layout.createSequentialGroup()
 636                         .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 808, javax.swing.GroupLayout.PREFERRED_SIZE)
 637                         .addContainerGap())))
 638         );
 639         jPanel9Layout.setVerticalGroup(
 640             jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 641             .addGroup(jPanel9Layout.createSequentialGroup()
 642                 .addGap(21, 21, 21)
 643                 .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 413, javax.swing.GroupLayout.PREFERRED_SIZE)
 644                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 645                 .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 646                     .addComponent(jButton5)
 647                     .addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 648                     .addComponent(jButton4))
 649                 .addContainerGap(160, Short.MAX_VALUE))
 650         );
 651 
 652         jTabbedPane3.addTab("Health", jPanel9);
 653 
 654         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
 655         getContentPane().setLayout(layout);
 656         layout.setHorizontalGroup(
 657             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 658             .addGroup(layout.createSequentialGroup()
 659                 .addContainerGap()
 660                 .addComponent(jTabbedPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 849, javax.swing.GroupLayout.PREFERRED_SIZE)
 661                 .addContainerGap(14, Short.MAX_VALUE))
 662         );
 663         layout.setVerticalGroup(
 664             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 665             .addGroup(layout.createSequentialGroup()
 666                 .addContainerGap()
 667                 .addComponent(jTabbedPane3)
 668                 .addContainerGap())
 669         );
 670 
 671         pack();
 672     }// </editor-fold>                        
 673 
 674     private void jButton6MouseReleased(java.awt.event.MouseEvent evt) {                                       
 675         DefaultTableModel model = (DefaultTableModel)jTable5.getModel();
 676         int total = 0;
 677         age = Integer.parseInt(jTextField12.getText());
 678         int until = aa + age;
 679         String name1 = jTextField1.getText() + " " + jTextField2.getText();
 680 
 681         model.addColumn(new Object[]{jTextField1.getText(), jTextField2.getText(), healthList.get(1),jTextField4.getText(),
 682             jTextField5.getText(),jTextField8.getText(),jTextField7.getText(), Integer.toString(a),
 683             jTextField6.getText(), Integer.toString(aa), Integer.toString(aa*Integer.parseInt(jTextField7.getText())),
 684             Integer.toString(20*Integer.parseInt(jTextField7.getText()))});
 685 
 686     }                                      
 687 
 688     private void jButton5MouseReleased(java.awt.event.MouseEvent evt) {                                       
 689         DefaultTableModel model = (DefaultTableModel)jTable5.getModel();
 690         int total = 0;
 691         age = Integer.parseInt(jTextField12.getText());
 692         int until = aa + age;
 693         String name1 = jTextField1.getText() + " " + jTextField2.getText();
 694         for (int i = 0; i < 5; i++){
 695             total += Integer.parseInt(healthList.get(i));
 696         }
 697         model.addRow(new Object[]{name1, healthList.get(0), healthList.get(1),healthList.get(2),
 698             healthList.get(3),healthList.get(4),healthList.get(5), Integer.toString(until)});
 699     }                                      
 700 
 701     private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
 702         // TODO add your handling code here:
 703     }                                        
 704 
 705     private void jButton3MouseReleased(java.awt.event.MouseEvent evt) {                                       
 706         DefaultTableModel model = (DefaultTableModel)jTable2.getModel();
 707         model.addRow(new Object[]{summaryList.get(0), summaryList.get(1),summaryList.get(2),
 708             summaryList.get(3),summaryList.get(4),summaryList.get(5),
 709             summaryList.get(6),summaryList.get(7)});
 710     }                                      
 711 
 712     private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {                                       
 713         int percentage = Integer.parseInt(jTextField11.getText());
 714         long value = Long.parseLong(jTextField8.getText());
 715         int cashRecieved1 = (percentage*Integer.parseInt(policyInformationList.get(3).replaceAll(",", "")))/100;
 716         int haveToPay = 0;
 717         int kk = 20-a;
 718         int kkk = 0;
 719         if (a < 20){
 720             cashRecieved1 = ((percentage*Integer.parseInt(policyInformationList.get(3).replaceAll(",", "")))/100)*a;
 721             haveToPay = (kk)*premiumNumber;
 722             kk = 20-a;
 723             kkk = cashRecieved1 - (int)x;
 724         }
 725         else{
 726             cashRecieved1 = (((percentage*Integer.parseInt(policyInformationList.get(3).replaceAll(",", "")))/100)*20)+
 727             ((percentage*Integer.parseInt(policyInformationList.get(3).replaceAll(",", "")))/100)*(12*(20-a));
 728             haveToPay = 0;
 729             kk = 0;
 730             kkk = cashRecieved1 - (int)x;
 731         }
 732         String v = Integer.toString(cashRecieved1);
 733         jTextField9.setText(v);
 734         summaryList.add(jTextField1.getText());
 735         summaryList.add(jTextField7.getText());
 736         summaryList.add(jTextField6.getText());
 737         summaryList.add(Long.toString(haveToPay));
 738         summaryList.add(Integer.toString(kk));
 739         summaryList.add(Long.toString(x));
 740         summaryList.add(Integer.toString(cashRecieved1));
 741         summaryList.add(Integer.toString(kkk));
 742     }                                      
 743 
 744     private void jTextField10KeyReleased(java.awt.event.KeyEvent evt) {                                         
 745         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 746 
 747         }
 748         else{
 749             String to_check = jTextField1.getText();
 750             int to_check_len = to_check.length();
 751             for(String data:s){
 752                 String check_from_data = "";
 753                 for(int i = 0; i < to_check_len; i++){
 754                     if(to_check_len <= data.length()){
 755                         check_from_data = check_from_data + data.charAt(i);
 756                     }
 757                 }
 758                 if(check_from_data.equals(to_check)){
 759                     jTextField1.setText(data);
 760                     jTextField1.setSelectionStart(to_check_len);
 761                     jTextField1.setSelectionEnd(data.length());
 762                     break;
 763                 }
 764             }
 765         }
 766     }                                        
 767 
 768     private void jTextField9KeyReleased(java.awt.event.KeyEvent evt) {                                        
 769         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 770 
 771         }
 772         else{
 773             String to_check = jTextField1.getText();
 774             int to_check_len = to_check.length();
 775             for(String data:s){
 776                 String check_from_data = "";
 777                 for(int i = 0; i < to_check_len; i++){
 778                     if(to_check_len <= data.length()){
 779                         check_from_data = check_from_data + data.charAt(i);
 780                     }
 781                 }
 782                 if(check_from_data.equals(to_check)){
 783                     jTextField1.setText(data);
 784                     jTextField1.setSelectionStart(to_check_len);
 785                     jTextField1.setSelectionEnd(data.length());
 786                     break;
 787                 }
 788             }
 789         }
 790     }                                       
 791 
 792     private void jTextField8KeyReleased(java.awt.event.KeyEvent evt) {                                        
 793         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 794 
 795         }
 796         else{
 797             String to_check = jTextField1.getText();
 798             int to_check_len = to_check.length();
 799             for(String data:s){
 800                 String check_from_data = "";
 801                 for(int i = 0; i < to_check_len; i++){
 802                     if(to_check_len <= data.length()){
 803                         check_from_data = check_from_data + data.charAt(i);
 804                     }
 805                 }
 806                 if(check_from_data.equals(to_check)){
 807                     jTextField1.setText(data);
 808                     jTextField1.setSelectionStart(to_check_len);
 809                     jTextField1.setSelectionEnd(data.length());
 810                     break;
 811                 }
 812             }
 813         }
 814     }                                       
 815 
 816     private void jTextField7KeyReleased(java.awt.event.KeyEvent evt) {                                        
 817         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 818 
 819         }
 820         else{
 821             String to_check = jTextField1.getText();
 822             int to_check_len = to_check.length();
 823             for(String data:s){
 824                 String check_from_data = "";
 825                 for(int i = 0; i < to_check_len; i++){
 826                     if(to_check_len <= data.length()){
 827                         check_from_data = check_from_data + data.charAt(i);
 828                     }
 829                 }
 830                 if(check_from_data.equals(to_check)){
 831                     jTextField1.setText(data);
 832                     jTextField1.setSelectionStart(to_check_len);
 833                     jTextField1.setSelectionEnd(data.length());
 834                     break;
 835                 }
 836             }
 837         }
 838     }                                       
 839 
 840     private void jTextField6KeyReleased(java.awt.event.KeyEvent evt) {                                        
 841         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 842 
 843         }
 844         else{
 845             String to_check = jTextField1.getText();
 846             int to_check_len = to_check.length();
 847             for(String data:s){
 848                 String check_from_data = "";
 849                 for(int i = 0; i < to_check_len; i++){
 850                     if(to_check_len <= data.length()){
 851                         check_from_data = check_from_data + data.charAt(i);
 852                     }
 853                 }
 854                 if(check_from_data.equals(to_check)){
 855                     jTextField1.setText(data);
 856                     jTextField1.setSelectionStart(to_check_len);
 857                     jTextField1.setSelectionEnd(data.length());
 858                     break;
 859                 }
 860             }
 861         }
 862     }                                       
 863 
 864     private void jTextField5KeyReleased(java.awt.event.KeyEvent evt) {                                        
 865         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 866 
 867         }
 868         else{
 869             String to_check = jTextField1.getText();
 870             int to_check_len = to_check.length();
 871             for(String data:s){
 872                 String check_from_data = "";
 873                 for(int i = 0; i < to_check_len; i++){
 874                     if(to_check_len <= data.length()){
 875                         check_from_data = check_from_data + data.charAt(i);
 876                     }
 877                 }
 878                 if(check_from_data.equals(to_check)){
 879                     jTextField1.setText(data);
 880                     jTextField1.setSelectionStart(to_check_len);
 881                     jTextField1.setSelectionEnd(data.length());
 882                     break;
 883                 }
 884             }
 885         }
 886     }                                       
 887 
 888     private void jTextField4KeyReleased(java.awt.event.KeyEvent evt) {                                        
 889         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 890 
 891         }
 892         else{
 893             String to_check = jTextField1.getText();
 894             int to_check_len = to_check.length();
 895             for(String data:s){
 896                 String check_from_data = "";
 897                 for(int i = 0; i < to_check_len; i++){
 898                     if(to_check_len <= data.length()){
 899                         check_from_data = check_from_data + data.charAt(i);
 900                     }
 901                 }
 902                 if(check_from_data.equals(to_check)){
 903                     jTextField1.setText(data);
 904                     jTextField1.setSelectionStart(to_check_len);
 905                     jTextField1.setSelectionEnd(data.length());
 906                     break;
 907                 }
 908             }
 909         }
 910     }                                       
 911 
 912     private void jTextField3KeyReleased(java.awt.event.KeyEvent evt) {                                        
 913         
 914         s = new TreeSet<String>();
 915         s.add("บำนาญ");
 916         s.add("ตลอดชีพ");
 917         s.add("ออมทรัพย์");
 918         
 919         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 920 
 921         }
 922         else{
 923             String to_check = jTextField1.getText();
 924             int to_check_len = to_check.length();
 925             for(String data:s){
 926                 String check_from_data = "";
 927                 for(int i = 0; i < to_check_len; i++){
 928                     if(to_check_len <= data.length()){
 929                         check_from_data = check_from_data + data.charAt(i);
 930                     }
 931                 }
 932                 if(check_from_data.equals(to_check)){
 933                     jTextField1.setText(data);
 934                     jTextField1.setSelectionStart(to_check_len);
 935                     jTextField1.setSelectionEnd(data.length());
 936                     break;
 937                 }
 938             }
 939         }
 940     }                                       
 941 
 942     private void jTextField2KeyReleased(java.awt.event.KeyEvent evt) {                                        
 943         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 944 
 945         }
 946         else{
 947             String to_check = jTextField1.getText();
 948             int to_check_len = to_check.length();
 949             for(String data:s){
 950                 String check_from_data = "";
 951                 for(int i = 0; i < to_check_len; i++){
 952                     if(to_check_len <= data.length()){
 953                         check_from_data = check_from_data + data.charAt(i);
 954                     }
 955                 }
 956                 if(check_from_data.equals(to_check)){
 957                     jTextField1.setText(data);
 958                     jTextField1.setSelectionStart(to_check_len);
 959                     jTextField1.setSelectionEnd(data.length());
 960                     break;
 961                 }
 962             }
 963         }
 964     }                                       
 965 
 966     private void jTextField2KeyPressed(java.awt.event.KeyEvent evt) {                                       
 967 
 968     }                                      
 969 
 970     private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {                                        
 971         if(evt.getKeyCode () ==evt.VK_BACK_SPACE || evt.getKeyCode() == evt.VK_DELETE){
 972 
 973         }
 974         else{
 975             String to_check = jTextField1.getText();
 976             int to_check_len = to_check.length();
 977             for(String data:s){
 978                 String check_from_data = "";
 979                 for(int i = 0; i < to_check_len; i++){
 980                     if(to_check_len <= data.length()){
 981                         check_from_data = check_from_data + data.charAt(i);
 982                     }
 983                 }
 984                 if(check_from_data.equals(to_check)){
 985                     jTextField1.setText(data);
 986                     jTextField1.setSelectionStart(to_check_len);
 987                     jTextField1.setSelectionEnd(data.length());
 988                     break;
 989                 }
 990             }
 991         }
 992     }                                       
 993 
 994     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
 995         DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
 996         String form = policyInformationList.get(2).substring((policyInformationList.get(2).length()-5)
 997             , (policyInformationList.get(2).length()));
 998         String column1 = "1." + jTextField1.getText() + " " + jTextField2.getText() + " " + form;
 999         String column2 = jTextField4.getText() + " " +jTextField5.getText();
1000         String column3 = jTextField8.getText();
1001         String column4 = jTextField7.getText() + " ออมแล้ว " + jTextField6.getText();
1002         String column5 = jTextField9.getText();
1003         String column6 = " ";
1004         String column7 = "รับเงินทันที "+ "เงินรับคืนแล้ว " + jTextField9.getText() + " บาท" + " รวมรับ ";
1005         model.addRow(new Object[]{column1, column2, column3, column4,
1006             column5, column6, column7});
1007     }                                        
1008 
1009     private void EnterInfoActionPerformed(java.awt.event.ActionEvent evt) {                                          
1010             JButton source = (JButton) evt.getSource();
1011             source.setVisible(true);
1012     }                                         
1013 
1014     private void EnterInfoMouseReleased(java.awt.event.MouseEvent evt) {                                        
1015 
1016         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
1017         nmt = addPolicy.getText().replaceAll("\\s", "");
1018         String text = new String(nmt);
1019         String pattern = "กรมธรรม์เลขที่";
1020         System.out.println("\nResults : \n");
1021         scanner m = new scanner(text, pattern, 9);
1022         String pattern1 = "ราย12เดือนจํานวน";
1023         scanner n = new scanner(text, pattern1, 7);
1024         String pattern2 = "ภัยกรมธรรม์แบบ";
1025         scanner o = new scanner(text, pattern2, 17);
1026         String pattern3 = "000085196";
1027         scanner q = new scanner(text, pattern3, 9);
1028         String pattern4 = policyInformationList.get(2);
1029         scanner w = new scanner(text, pattern4, 1);
1030         String pattern5 = policyInformationList.get(4) + "/";
1031         scanner e = new scanner(text, pattern5, 1);
1032         String pattern6 = policyInformationList.get(5) + "/";
1033         scanner r = new scanner(text, pattern6, 4);
1034         String pattern7 = policyInformationList.get(2) +
1035         policyInformationList.get(4) + "/" +
1036         policyInformationList.get(5) + "/";
1037         scanner t = new scanner(text, pattern7, 4);
1038         String pattern8 = "บริษัท";
1039         scanner y = new scanner(text, pattern8, 25);
1040         String pattern9 = "โรคร้ายแรงซีไอรายปีจํานวน";
1041         scanner k = new scanner(text, pattern9, 7);
1042         String pattern10 = "ประกันภัยสุขภาพแบบพีพีโอ";
1043         scanner l = new scanner(text, pattern10, 4);
1044         String pattern11 = "ชดเชย";
1045         scanner hh = new scanner(text, pattern11, 4);
1046         String pattern12 = "ผู้ป่วยนอก";
1047         scanner hhh = new scanner(text, pattern12, 4);
1048         String pattern13 = "อุบัติเหตุ";
1049         scanner hhhh = new scanner(text, pattern13, 4);
1050         String pattern14 = "จลาจล";
1051         scanner hhhhh = new scanner(text, pattern14, 4);
1052         
1053         String premium = policyInformationList.get(1).replaceAll(",", "");
1054         jTextField1.setText(policyInformationList.get(8));
1055         jTextField2.setText(policyInformationList.get(0));
1056         jTextField7.setText(premium);
1057         jTextField3.setText(policyInformationList.get(2));
1058         jTextField4.setText(policyInformationList.get(4) + "/" +
1059             policyInformationList.get(5) + "/" +
1060             policyInformationList.get(6));
1061         jTextField5.setText(policyInformationList.get(4) + "/" +
1062             policyInformationList.get(5) + "/" +
1063             policyInformationList.get(7));
1064         LocalDate current_date = LocalDate.now();
1065         int current_Year = current_date.getYear() + 543;
1066         x = Integer.parseInt(premium)*(current_Year - Integer.parseInt(policyInformationList.get(6)));
1067         premiumNumber = Integer.parseInt(premium);
1068         String d = Long.toString(x);
1069         jTextField6.setText(d);
1070         String policyValue = policyInformationList.get(3).replaceAll(",", "");
1071         f = Long.parseLong(policyValue);
1072         jTextField8.setText(policyValue);
1073         healthList.add(policyInformationList.get(9));
1074         healthList.add(policyInformationList.get(10));
1075         healthList.add(policyInformationList.get(11));
1076         healthList.add(policyInformationList.get(12));
1077         healthList.add(policyInformationList.get(13));
1078         healthList.add(policyInformationList.get(14));
1079         jTextField10.setText("โรคร้ายแรง " + healthList.get(0) +
1080             " ค่าห้อง " + healthList.get(1) +
1081             " ชดเชย" + healthList.get(2) +
1082             "ผู้ป่วยนอก" + healthList.get(3) +
1083             "อุบัติเหตุ" + healthList.get(4) +
1084             "จลาจล" + healthList.get(5));
1085         a = current_Year - Integer.parseInt(policyInformationList.get(6));
1086         aa = Integer.parseInt(policyInformationList.get(7)) - current_Year;
1087         
1088 
1089     }                                       
1090 
1091     private void addPolicyActionPerformed(java.awt.event.ActionEvent evt) {                                          
1092 
1093     }                                         
1094 
1095     private void addPolicyInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {                                                 
1096         // TODO add your handling code here:
1097     }                                                
1098 
1099     /**
1100      * @param args the command line arguments
1101      */
1102     public static void main(String args[]) {
1103         /* Set the Nimbus look and feel */
1104         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
1105         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
1106          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
1107          */
1108         try {
1109             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
1110                 if ("Nimbus".equals(info.getName())) {
1111                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
1112                     break;
1113                 }
1114             }
1115         } catch (ClassNotFoundException ex) {
1116             java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1117         } catch (InstantiationException ex) {
1118             java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1119         } catch (IllegalAccessException ex) {
1120             java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1121         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
1122             java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
1123         }
1124         //</editor-fold>
1125         //</editor-fold>
1126         //</editor-fold>
1127         //</editor-fold>
1128         
1129         /* Create and display the form */
1130         java.awt.EventQueue.invokeLater(new Runnable() {
1131             public void run() {
1132                 new Login().setVisible(true);
1133             }
1134         });
1135     }
1136 
1137     // Variables declaration - do not modify                     
1138     private javax.swing.JButton EnterInfo;
1139     private javax.swing.JTextField addPolicy;
1140     private javax.swing.JButton jButton1;
1141     private javax.swing.JButton jButton2;
1142     private javax.swing.JButton jButton3;
1143     private javax.swing.JButton jButton4;
1144     private javax.swing.JButton jButton5;
1145     private javax.swing.JButton jButton6;
1146     private javax.swing.JCheckBox jCheckBox1;
1147     private javax.swing.JLabel jLabel1;
1148     private javax.swing.JLabel jLabel10;
1149     private javax.swing.JLabel jLabel11;
1150     private javax.swing.JLabel jLabel2;
1151     private javax.swing.JLabel jLabel3;
1152     private javax.swing.JLabel jLabel4;
1153     private javax.swing.JLabel jLabel5;
1154     private javax.swing.JLabel jLabel6;
1155     private javax.swing.JLabel jLabel7;
1156     private javax.swing.JLabel jLabel8;
1157     private javax.swing.JLabel jLabel9;
1158     private javax.swing.JPanel jPanel1;
1159     private javax.swing.JPanel jPanel10;
1160     private javax.swing.JPanel jPanel2;
1161     private javax.swing.JPanel jPanel3;
1162     private javax.swing.JPanel jPanel4;
1163     private javax.swing.JPanel jPanel5;
1164     private javax.swing.JPanel jPanel6;
1165     private javax.swing.JPanel jPanel9;
1166     private javax.swing.JScrollPane jScrollPane1;
1167     private javax.swing.JScrollPane jScrollPane2;
1168     private javax.swing.JScrollPane jScrollPane5;
1169     private javax.swing.JScrollPane jScrollPane6;
1170     private javax.swing.JTabbedPane jTabbedPane1;
1171     private javax.swing.JTabbedPane jTabbedPane2;
1172     private javax.swing.JTabbedPane jTabbedPane3;
1173     private javax.swing.JTable jTable1;
1174     private javax.swing.JTable jTable2;
1175     private javax.swing.JTable jTable5;
1176     private javax.swing.JTable jTable6;
1177     private javax.swing.JTextField jTextField1;
1178     private javax.swing.JTextField jTextField10;
1179     private javax.swing.JTextField jTextField11;
1180     private javax.swing.JTextField jTextField12;
1181     private javax.swing.JTextField jTextField2;
1182     private javax.swing.JTextField jTextField3;
1183     private javax.swing.JTextField jTextField4;
1184     private javax.swing.JTextField jTextField5;
1185     private javax.swing.JTextField jTextField6;
1186     private javax.swing.JTextField jTextField7;
1187     private javax.swing.JTextField jTextField8;
1188     private javax.swing.JTextField jTextField9;
1189     // End of variables declaration                   
1190 }
1191