Hibernate sistema de facturación añadir módulo Swing | Java

Vamos a ver un ejemplo de un diálogo que nos permitirá guardar en la tabla módulos los que el programador haya desarrollado, nos quedará de la siguiente forma el JDialog

JDialog Add Module
El siguiente diseño fue realizado con WindowBuilder un plugin de Eclipse IDE, dependiendo de tus gustos puedes acomodar como mejor te parezca.
public class AddModuleDialog extends JDialog {

    private static final long serialVersionUID = 1L;

    private boolean moduleAdded;

    private JTextField txtName;
    private JTextArea txtDescription;

    private ResourceBundle bundle;

    private MessageUtil messageUtil;
    private ValidateData validateData;
    private Module module;
    private ModuleController moduleController;

    public AddModuleDialog() {
        bundle = ResourceBundle.getBundle("com/abigsite/facturationsystem/bundle/Bundle");
        messageUtil = new MessageUtil();
        validateData = new ValidateData();
        moduleController = new ModuleController();
        initComponents();
    }

    private void initComponents() {
        setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        setModal(true);
        setIconImage(Toolkit.getDefaultToolkit()
            .getImage(AddModuleDialog.class.getResource("/com/abigsite/facturationsystem/icon/CompanyIcon.png")));
        setResizable(false);
        setTitle(bundle.getString("addModuleTitle"));
        setBounds(100, 100, 428, 195);
        getContentPane().setLayout(null);
    }
}
En el código anterior solo creamos el JDialog, WindowBuilder te lo agrega todo en el constructor pero aquí hemos creado todo en un método initComponents(), lo demás se te agregará como los JLabel, JTextField y JButton.

Continuando vamos a ver el código que nos permite insertar o persistir en la base de datos.
private boolean isCorrectData() {
    if (!validateData.stringLength(txtName.getText().trim(), 5, 50)) {
        messageUtil.errorMessage(bundle.getString("moduleNameErrorMessage"));
        return false;
    }
    if (!validateData.stringLength(txtDescription.getText().trim(), 5, 100)) {
        messageUtil.errorMessage(bundle.getString("moduleDescriptionErrorMessage"));
        return false;
    }
    return true;
}

private void setModuleData() {
    module = new Module();
    module.setName(txtName.getText().trim().toUpperCase());
    module.setDescription(txtDescription.getText().trim().toUpperCase());
    module.setCreationDate(new Timestamp(new Date().getTime()));
    module.setUpdateDate(new Timestamp(new Date().getTime()));
    module.setStatus(true);
}

private void saveModule() {
    if (isCorrectData()) {
        setModuleData();
        if (!moduleController.exist(module)) {
            moduleController.save(module);
            moduleAdded = true;
            messageUtil.infoMessage(bundle.getString("recordSaveSuccessMessage"));
            dispose();
        } else {
            messageUtil.errorMessage(bundle.getString("uniqueNameErrorMessage"));
        }
    }
}

public boolean isModuleAdded() {
    return moduleAdded;
}
Antes de guardar hacemos una comprobación de la longitud de las cadenas, después de eso seteamos la entidad Module.java y comprobamos si ya existe un módulo almacenado con el mismo nombre, si no es el caso lo guardamos en la base de datos.

← Anterior

Siguiente →

Comentarios

Entradas populares