public ComparedValuePanel() {
      GridBagLayout gbl_panel_1 = new GridBagLayout();
      gbl_panel_1.columnWidths = new int[] {0, 0, 0, 0};
      gbl_panel_1.rowHeights = new int[] {0, 0};
      gbl_panel_1.columnWeights = new double[] {0.0, 1.0, 0.0, Double.MIN_VALUE};
      gbl_panel_1.rowWeights = new double[] {0.0, Double.MIN_VALUE};
      setLayout(gbl_panel_1);

      checkBox_3 = new JLabel(AwesomeIcon.create(AwesomeIcon.FA_MINUS_CIRCLE));
      checkBox_3.addMouseListener(
          new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
              if (SwingUtilities.isLeftMouseButton(e)) {
                lowerPanel.remove(ComparedValuePanel.this);
                lowerPanel.revalidate();
                if (lowerPanel.getComponentCount() == 1) {
                  addComparedValuePanel();
                }
              }
            }
          });
      GridBagConstraints gbc_checkBox_3 = new GridBagConstraints();
      gbc_checkBox_3.anchor = GridBagConstraints.WEST;
      gbc_checkBox_3.gridx = 0;
      gbc_checkBox_3.gridy = 0;
      add(checkBox_3, gbc_checkBox_3);

      textField_1 = new JTextField();
      GridBagConstraints gbc_textField_1 = new GridBagConstraints();
      gbc_textField_1.fill = GridBagConstraints.HORIZONTAL;
      gbc_textField_1.gridx = 1;
      gbc_textField_1.gridy = 0;
      add(textField_1, gbc_textField_1);
      textField_1.setColumns(10);

      label_1 = new JLabel(SCBundle.get("key.filter.nthColumn"));
      label_1.setVisible(false);
      GridBagConstraints gbc_label_1 = new GridBagConstraints();
      gbc_label_1.gridx = 2;
      gbc_label_1.gridy = 0;
      add(label_1, gbc_label_1);
    }
  public ConditionItemPanel(final Dialog parent) {
    GridBagLayout gridBagLayout = new GridBagLayout();
    gridBagLayout.columnWidths = new int[] {0, 0, 0, 0, 0};
    gridBagLayout.rowHeights = new int[] {0, 0, 0, 0, 0};
    gridBagLayout.columnWeights = new double[] {0.0, 1.0, 0.0, 1.0, Double.MIN_VALUE};
    gridBagLayout.rowWeights = new double[] {0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
    setLayout(gridBagLayout);

    textField = new RegulatedTextField(RegulatedTextField.Type.NUMERIC, 8);
    GridBagConstraints gbc_textField = new GridBagConstraints();
    gbc_textField.insets = new Insets(0, 0, 5, 5);
    gbc_textField.fill = GridBagConstraints.HORIZONTAL;
    gbc_textField.gridx = 1;
    gbc_textField.gridy = 0;
    add(textField, gbc_textField);
    textField.setColumns(10);

    JLabel label = new JLabel(SCBundle.get("key.filter.nthColumn"));
    GridBagConstraints gbc_label = new GridBagConstraints();
    gbc_label.anchor = GridBagConstraints.WEST;
    gbc_label.insets = new Insets(0, 0, 5, 5);
    gbc_label.gridx = 2;
    gbc_label.gridy = 0;
    add(label, gbc_label);

    criteriaCombo = new JComboBox<>();
    for (Criteria criteria : Criteria.values()) {
      criteriaCombo.addItem(criteria);
    }

    GridBagConstraints gbc_comboBox_1 = new GridBagConstraints();
    gbc_comboBox_1.anchor = GridBagConstraints.WEST;
    gbc_comboBox_1.insets = new Insets(10, 10, 15, 0);
    gbc_comboBox_1.gridwidth = 3;
    gbc_comboBox_1.gridx = 1;
    gbc_comboBox_1.gridy = 1;
    add(criteriaCombo, gbc_comboBox_1);

    lowerPanel = new JPanel();
    GridBagConstraints gbc_panel = new GridBagConstraints();
    gbc_panel.gridwidth = 3;
    gbc_panel.insets = new Insets(0, 0, 5, 0);
    gbc_panel.fill = GridBagConstraints.BOTH;
    gbc_panel.gridx = 1;
    gbc_panel.gridy = 2;
    add(lowerPanel, gbc_panel);
    lowerPanel.setLayout(new BoxLayout(lowerPanel, BoxLayout.Y_AXIS));

    comparedValuePanel = new ComparedValuePanel();
    lowerPanel.add(comparedValuePanel);

    JPanel panel_1 = new JPanel();
    lowerPanel.add(panel_1);
    GridBagLayout gbl_panel_1 = new GridBagLayout();
    gbl_panel_1.columnWidths = new int[] {21, 0, 0, 0, 0, 0};
    gbl_panel_1.rowHeights = new int[] {21, 0};
    gbl_panel_1.columnWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
    gbl_panel_1.rowWeights = new double[] {0.0, Double.MIN_VALUE};
    panel_1.setLayout(gbl_panel_1);

    checkBox_3 = new JLabel(AwesomeIcon.create(AwesomeIcon.FA_PLUS_CIRCLE));
    checkBox_3.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mouseClicked(MouseEvent e) {
            if (SwingUtilities.isLeftMouseButton(e)) {
              addComparedValuePanel();
              parent.pack();
            }
          }
        });
    GridBagConstraints gbc_checkBox_3 = new GridBagConstraints();
    gbc_checkBox_3.insets = new Insets(0, 0, 0, 15);
    gbc_checkBox_3.anchor = GridBagConstraints.WEST;
    gbc_checkBox_3.gridx = 0;
    gbc_checkBox_3.gridy = 0;
    panel_1.add(checkBox_3, gbc_checkBox_3);

    colValCheckBox = new JCheckBox(SCBundle.get("key.filter.cellValue"));
    GridBagConstraints gbc_checkBox = new GridBagConstraints();
    gbc_checkBox.insets = new Insets(0, 0, 0, 5);
    gbc_checkBox.gridx = 1;
    gbc_checkBox.gridy = 0;
    panel_1.add(colValCheckBox, gbc_checkBox);

    casecheckBox = new JCheckBox(SCBundle.get("key.caseSensitive"));
    GridBagConstraints gbc_checkBox_00 = new GridBagConstraints();
    gbc_checkBox_00.insets = new Insets(0, 0, 0, 5);
    gbc_checkBox_00.gridx = 2;
    gbc_checkBox_00.gridy = 0;
    panel_1.add(casecheckBox, gbc_checkBox_00);

    criteriaCombo.addItemListener(
        new ItemListener() {
          @Override
          public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() != ItemEvent.SELECTED) {
              return;
            }
            Criteria criteria = criteriaCombo.getItemAt(criteriaCombo.getSelectedIndex());
            setMultiTextbox(criteria.equals(Criteria.IS_IN) || criteria.equals(Criteria.IS_NOT_IN));

            lowerPanel.setVisible(
                !contains(
                    criteria,
                    Criteria.IS_A_NUMERIC,
                    Criteria.IS_NOT_A_NUMERIC,
                    Criteria.IS_EMPTY,
                    Criteria.IS_NOT_EMPTY,
                    Criteria.EXISTS,
                    Criteria.DOES_NOT_EXISTS));

            parent.pack();
          }
        });

    colValCheckBox.addItemListener(
        new ItemListener() {
          @Override
          public void itemStateChanged(ItemEvent e) {
            Component[] components = lowerPanel.getComponents();
            for (Component component : components) {
              if (component instanceof ComparedValuePanel) {
                ((ComparedValuePanel) component).setColumnVisible(colValCheckBox.isSelected());
              }
            }
          }
        });
    criteriaCombo.setSelectedIndex(1);
    criteriaCombo.setSelectedIndex(0);
  }