private void initComponents() {
    jLabel1 = new javax.swing.JLabel();
    spinDays = new javax.swing.JSpinner();
    spinMonth = new javax.swing.JSpinner();
    spinYear = new javax.swing.JSpinner();
    jLabel2 = new javax.swing.JLabel();
    txtWeek = new javax.swing.JTextField(2);
    jLabel3 = new javax.swing.JLabel();
    txtDays = new javax.swing.JTextField(1);
    jLabel4 = new javax.swing.JLabel();
    btnLMP = new javax.swing.JButton();
    btnUSG = new javax.swing.JButton();
    btnClear = new javax.swing.JButton();
    jScrollPane1 = new javax.swing.JScrollPane();
    txtResult = new javax.swing.JTextArea();
    jMenuBar1 = new javax.swing.JMenuBar();
    jMenu1 = new javax.swing.JMenu();
    jMenu3 = new javax.swing.JMenuItem();

    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
    jLabel1.setText("Date");

    spinDays.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
    spinDays.setName("spDay"); // NOI18N
    spinDays.setNextFocusableComponent(spinMonth);
    spinDays.addChangeListener(
        new javax.swing.event.ChangeListener() {
          public void stateChanged(javax.swing.event.ChangeEvent evt) {
            jSpinner2StateChanged(evt);
          }
        });

    spinMonth.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
    spinMonth.setName("spMonth"); // NOI18N
    spinMonth.setNextFocusableComponent(spinYear);
    spinMonth.addChangeListener(
        new javax.swing.event.ChangeListener() {
          public void stateChanged(javax.swing.event.ChangeEvent evt) {
            jSpinner3StateChanged(evt);
          }
        });

    spinYear.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
    spinYear.setName("spYear"); // NOI18N
    spinYear.addChangeListener(
        new javax.swing.event.ChangeListener() {
          public void stateChanged(javax.swing.event.ChangeEvent evt) {
            jSpinner4StateChanged(evt);
          }
        });

    jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
    jLabel2.setText("Gestacional age");

    txtWeek.setColumns(2);
    txtWeek.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
    txtWeek.setText("00");

    jLabel3.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
    jLabel3.setText("weeks");

    txtDays.setColumns(1);
    txtDays.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
    txtDays.setText("0");

    jLabel4.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
    jLabel4.setText("days");

    btnLMP.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    btnLMP.setText("L.M.P.");
    btnLMP.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            Calendar lpm = Calendar.getInstance();
            Calendar today = Calendar.getInstance();
            lpm.set(dtYear, dtMonth, dtDay);
            txtResult.setText("");
            if (lpm.getTime().after(today.getTime())) {
              txtResult.insert("Invalid L.P.M.", 0);
            } else {
              // defines gestacional ages
              gest.setDum(lpm.getTime());
              // show calcs
              ShowCalcs("L.P.M.");
            }
            ;
          }
        });

    btnUSG.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    btnUSG.setText("Exam");
    btnUSG.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            Calendar dtExam = Calendar.getInstance();
            Calendar today = Calendar.getInstance();
            dtExam.set(dtYear, dtMonth, dtDay);
            txtResult.setText("");
            if (dtExam.getTime().after(today.getTime())) {
              txtResult.insert("Invalid Date", 0);
            } else {
              // defines gestacional ages
              try {
                if (txtWeek.getText().equals("")) {
                  txtWeek.setText("0");
                }
                if (txtDays.getText().equals("")) {
                  txtDays.setText("0");
                }
                int wk = Integer.parseInt(txtWeek.getText()),
                    dy = Integer.parseInt(txtDays.getText());
                gest.setDum(dtExam.getTime(), wk, dy);
                // show calcs
                ShowCalcs("US");
              } catch (NumberFormatException nfex) {
                JOptionPane.showMessageDialog(
                    null, nfex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
              } catch (Exception ex) {
                JOptionPane.showMessageDialog(
                    null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
              }
            }
          }
        });

    btnClear.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    btnClear.setText("Clear");
    btnClear.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            txtResult.setText("");
          }
        });

    txtResult.setColumns(20);
    txtResult.setRows(5);
    txtResult.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
    jScrollPane1.setViewportView(txtResult);

    jMenuBar1.setName("mainMenuBar"); // NOI18N

    jMenu1.setText("File");

    jMenu3.setMnemonic('x');
    jMenu3.setText("Exit");
    jMenu3.setName("mnitExit"); // NOI18N
    jMenu3.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            exit();
          }
        });

    jMenu1.add(jMenu3);

    jMenuBar1.add(jMenu1);

    setJMenuBar(jMenuBar1);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addContainerGap()
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane1)
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addComponent(
                                        spinDays,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        77,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        Short.MAX_VALUE)
                                    .addComponent(
                                        spinMonth,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        77,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(
                                        spinYear,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        117,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabel1)
                                            .addComponent(
                                                jLabel2,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                194,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGroup(
                                                layout
                                                    .createSequentialGroup()
                                                    .addComponent(
                                                        txtWeek,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        66,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addPreferredGap(
                                                        javax.swing.LayoutStyle.ComponentPlacement
                                                            .RELATED)
                                                    .addComponent(jLabel3)
                                                    .addPreferredGap(
                                                        javax.swing.LayoutStyle.ComponentPlacement
                                                            .UNRELATED)
                                                    .addComponent(
                                                        txtDays,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addPreferredGap(
                                                        javax.swing.LayoutStyle.ComponentPlacement
                                                            .RELATED)
                                                    .addComponent(jLabel4)))
                                    .addGap(0, 0, Short.MAX_VALUE))
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addComponent(
                                        btnLMP,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        81,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        Short.MAX_VALUE)
                                    .addComponent(
                                        btnUSG,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        81,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18)
                                    .addComponent(
                                        btnClear,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        82,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap()));
    layout.setVerticalGroup(
        layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jLabel1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(
                                        spinDays,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        66,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(
                                        spinMonth,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        66,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(
                                spinYear,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                66,
                                javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jLabel2)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(
                                txtWeek,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                50,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3)
                            .addComponent(
                                txtDays,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                50,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(
                                btnLMP,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                48,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(
                                btnUSG,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                48,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(
                                btnClear,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                48,
                                javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(
                        jScrollPane1,
                        javax.swing.GroupLayout.PREFERRED_SIZE,
                        225,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(18, Short.MAX_VALUE)));

    pack();
  }