// Display the field attributes when selected in the list
  private void listFieldsValueChanged(javax.swing.event.ListSelectionEvent evt) {

    int index = listFields.getSelectedIndex();
    DefaultListModel listModel = (DefaultListModel) listFields.getModel();
    FieldDetails fd = (FieldDetails) listModel.elementAt(index);

    tfFieldName.setText(fd.getFieldName());
    cbFieldType.setSelectedItem(fd.getFieldType());
    tfFieldLength.setText(fd.getFieldLength());
    tfDefault.setText(fd.getDefault());
    chPrimary.setSelected(fd.IsPrimary());
    chUnique.setSelected(fd.IsUnique());
    chIndex.setSelected(fd.IsIndex());
    chBinary.setSelected(fd.IsBinary());
    chNotNull.setSelected(fd.IsNotNull());
    chUnsigned.setSelected(fd.IsUnisigned());
    chAuto.setSelected(fd.IsAutoIncrement());
    chZeroFill.setSelected(fd.IsZeroFill());
  }
  public String getQuery() {

    DefaultListModel listModel = (DefaultListModel) listFields.getModel();
    SQLCommand = "(";
    String[] rowData = new String[listModel.getSize()];
    for (int i = 0; i < rowData.length; i++) rowData[i] = "";
    for (int i = 0; i < rowData.length; i++) {
      FieldDetails fd = (FieldDetails) listModel.elementAt(i);
      rowData[i] += fd.getFieldName();
      rowData[i] += " ";
      rowData[i] += fd.getFieldType();
      rowData[i] += "(";
      rowData[i] += fd.getFieldLength();
      rowData[i] += ")";
      if (fd.IsUnisigned()) rowData[i] += " UNSIGNED ";
      if (fd.IsBinary()) rowData[i] += " BINARY ";
      if (fd.IsZeroFill()) rowData[i] += " ZEROFILL ";
      if (fd.getDefault().length() > 0) rowData[i] += " DEFAULT '" + fd.getDefault() + "'";
      if (fd.IsNotNull()) rowData[i] += " NOT NULL ";
      if (fd.IsAutoIncrement()) rowData[i] += "AUTO_INCREMENT ";
      if (fd.IsPrimary()) rowData[i] += ", PRIMARY KEY(" + fd.getFieldName() + ")";
      if (fd.IsUnique()) rowData[i] += ", UNIQUE(" + fd.getFieldName() + ")";
      if (fd.IsIndex()) rowData[i] += ", INDEX(" + fd.getFieldName() + ")";
    }
    for (int i = 0; i < rowData.length; i++) {
      SQLCommand += rowData[i];
      if (i < (rowData.length - 1)) SQLCommand += ", ";
    }
    SQLCommand += ")";
    if (cbTableType.getSelectedIndex() > 0)
      SQLCommand += " TYPE = " + cbTableType.getSelectedItem() + " ;";
    SQLCommandRoot += tfTableName.getText();
    SQLCommand = SQLCommandRoot + SQLCommand;
    return (SQLCommand);
  }
  // Set the attributes for the fields in the class FieldDetails
  private void btAddActionPerformed(java.awt.event.ActionEvent evt) {
    FieldDetails fd = new FieldDetails();

    fd.setFieldName(tfFieldName.getText());
    fd.setFieldLength(tfFieldLength.getText());
    fd.setFieldType((String) cbFieldType.getSelectedItem());
    fd.setDefault(tfDefault.getText());
    fd.setPrimary(chPrimary.isSelected());
    fd.setUnique(chUnique.isSelected());
    fd.setIndex(chIndex.isSelected());
    fd.setBinary(chBinary.isSelected());
    fd.setNotNull(chNotNull.isSelected());
    fd.setUnisigned(chUnsigned.isSelected());
    fd.setAutoIncrement(chAuto.isSelected());
    fd.setZeroFill(chZeroFill.isSelected());
    DefaultListModel listModel = (DefaultListModel) listFields.getModel();
    listModel.addElement(fd);
  }