/**
   * This method is called from within the constructor to initialize the form. WARNING: Do NOT
   * modify this code. The content of this method is always regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jButton1 = new javax.swing.JButton();
    division = new javax.swing.JPanel();
    jLabel2 = new javax.swing.JLabel();
    division_combo = new javax.swing.JComboBox();
    division_lb = new javax.swing.JLabel();
    jLabel1 = new javax.swing.JLabel();
    checkrollOrStaff = new javax.swing.JComboBox();
    jLabel8 = new javax.swing.JLabel();
    jPanel2 = new javax.swing.JPanel();
    month = new javax.swing.JTextField();
    year = new javax.swing.JTextField();
    jScrollPane1 = new javax.swing.JScrollPane();
    table = new javax.swing.JTable();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

    jButton1.setText("Monthly report");
    jButton1.addActionListener(
        new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
          }
        });

    jLabel2.setText("Division");

    division_combo.setEditable(true);
    division_combo.setModel(
        new javax.swing.DefaultComboBoxModel(dbm.getStringArray("division_details", "code")));
    division_combo.addItemListener(
        new java.awt.event.ItemListener() {
          public void itemStateChanged(java.awt.event.ItemEvent evt) {
            division_comboItemStateChanged(evt);
          }
        });

    javax.swing.GroupLayout divisionLayout = new javax.swing.GroupLayout(division);
    division.setLayout(divisionLayout);
    divisionLayout.setHorizontalGroup(
        divisionLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                divisionLayout
                    .createSequentialGroup()
                    .addGap(27, 27, 27)
                    .addComponent(jLabel2)
                    .addGap(98, 98, 98)
                    .addComponent(
                        division_combo,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        71,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addComponent(
                        division_lb,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        54,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(29, Short.MAX_VALUE)));
    divisionLayout.setVerticalGroup(
        divisionLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                divisionLayout
                    .createSequentialGroup()
                    .addContainerGap()
                    .addComponent(
                        division_lb,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        20,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(
                javax.swing.GroupLayout.Alignment.TRAILING,
                divisionLayout
                    .createSequentialGroup()
                    .addContainerGap(30, Short.MAX_VALUE)
                    .addGroup(
                        divisionLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false)
                            .addComponent(division_combo)
                            .addComponent(jLabel2))
                    .addGap(24, 24, 24)));

    jLabel1.setText("Pay type");

    checkrollOrStaff.setEditable(true);
    checkrollOrStaff.setModel(
        new javax.swing.DefaultComboBoxModel(new String[] {"Checkroll", "Staff"}));
    checkrollOrStaff.addActionListener(
        new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
            checkrollOrStaffActionPerformed(evt);
          }
        });
    checkrollOrStaff.addFocusListener(
        new java.awt.event.FocusAdapter() {
          public void focusLost(java.awt.event.FocusEvent evt) {
            checkrollOrStaffFocusLost(evt);
          }
        });

    jLabel8.setText("Month -Year");

    jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());

    month.setText(datehandler.get_today_month());
    month.addKeyListener(
        new java.awt.event.KeyAdapter() {
          public void keyPressed(java.awt.event.KeyEvent evt) {
            monthKeyPressed(evt);
          }
        });

    year.setText(datehandler.get_today_year());
    year.addKeyListener(
        new java.awt.event.KeyAdapter() {
          public void keyPressed(java.awt.event.KeyEvent evt) {
            yearKeyPressed(evt);
          }
        });

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
        jPanel2Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                jPanel2Layout
                    .createSequentialGroup()
                    .addContainerGap()
                    .addComponent(
                        month,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        43,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(
                        year,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        44,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap()));
    jPanel2Layout.setVerticalGroup(
        jPanel2Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                jPanel2Layout
                    .createSequentialGroup()
                    .addContainerGap()
                    .addGroup(
                        jPanel2Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(
                                month,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(
                                year,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap()));

    table.setModel(
        new javax.swing.table.DefaultTableModel(
            new Object[][] {
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null},
              {null, null, null, null, null, null, null, null}
            },
            new String[] {
              "Code", "Name", "EPF No", "Total Pay", "EPF 10", "EPF 12", "Total EPF", "ETF"
            }) {
          Class[] types =
              new Class[] {
                java.lang.Integer.class,
                java.lang.Object.class,
                java.lang.Object.class,
                java.lang.Object.class,
                java.lang.Object.class,
                java.lang.Object.class,
                java.lang.Object.class,
                java.lang.Object.class
              };
          boolean[] canEdit =
              new boolean[] {false, false, false, false, false, false, false, false};

          public Class getColumnClass(int columnIndex) {
            return types[columnIndex];
          }

          public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit[columnIndex];
          }
        });
    table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
    table.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    jScrollPane1.setViewportView(table);
    if (table.getColumnModel().getColumnCount() > 0) {
      table.getColumnModel().getColumn(0).setResizable(false);
      table.getColumnModel().getColumn(1).setResizable(false);
      table.getColumnModel().getColumn(2).setResizable(false);
      table.getColumnModel().getColumn(3).setResizable(false);
      table.getColumnModel().getColumn(4).setResizable(false);
      table.getColumnModel().getColumn(6).setResizable(false);
      table.getColumnModel().getColumn(7).setResizable(false);
    }

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                jPanel1Layout
                    .createSequentialGroup()
                    .addGroup(
                        jPanel1Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                jPanel1Layout
                                    .createSequentialGroup()
                                    .addGap(53, 53, 53)
                                    .addComponent(jLabel1)
                                    .addGap(94, 94, 94)
                                    .addComponent(
                                        checkrollOrStaff,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(
                                jPanel1Layout
                                    .createSequentialGroup()
                                    .addGap(37, 37, 37)
                                    .addComponent(
                                        division,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(
                        jPanel1Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                jPanel1Layout
                                    .createSequentialGroup()
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(
                                        jPanel1Layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabel8)
                                            .addComponent(
                                                jPanel2,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addContainerGap(
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(
                                javax.swing.GroupLayout.Alignment.TRAILING,
                                jPanel1Layout
                                    .createSequentialGroup()
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        Short.MAX_VALUE)
                                    .addComponent(jButton1)
                                    .addGap(230, 230, 230))))
            .addGroup(
                jPanel1Layout
                    .createSequentialGroup()
                    .addGap(105, 105, 105)
                    .addComponent(
                        jScrollPane1,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        620,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(221, Short.MAX_VALUE)));
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                jPanel1Layout
                    .createSequentialGroup()
                    .addGroup(
                        jPanel1Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                jPanel1Layout
                                    .createSequentialGroup()
                                    .addGap(22, 22, 22)
                                    .addGroup(
                                        jPanel1Layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(
                                                jPanel1Layout
                                                    .createParallelGroup(
                                                        javax.swing.GroupLayout.Alignment.BASELINE)
                                                    .addComponent(
                                                        checkrollOrStaff,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addComponent(jLabel1))
                                            .addComponent(jLabel8))
                                    .addGap(18, 18, 18)
                                    .addGroup(
                                        jPanel1Layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(
                                                division,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGroup(
                                                jPanel1Layout
                                                    .createSequentialGroup()
                                                    .addGap(13, 13, 13)
                                                    .addComponent(
                                                        jPanel2,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE))))
                            .addGroup(
                                jPanel1Layout
                                    .createSequentialGroup()
                                    .addGap(40, 40, 40)
                                    .addComponent(jButton1)))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(
                        jScrollPane1,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        427,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(18, Short.MAX_VALUE)));

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                javax.swing.GroupLayout.Alignment.TRAILING,
                layout
                    .createSequentialGroup()
                    .addComponent(
                        jPanel1,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)));
    layout.setVerticalGroup(
        layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addContainerGap()
                    .addComponent(
                        jPanel1,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    pack();
  } // </editor-fold>//GEN-END:initComponents