From a4ddd129133bc5568391404a53d152c984d2fe08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Cort=C3=A9s?= Date: Wed, 5 Jun 2019 13:46:21 -0400 Subject: [PATCH] PUES NO CUESTA TANTO COPIAR Y PEGAR! --- .../controllers/LaunchController.java | 13 ++ .../telefono/TelefonoCreateController.java | 78 +++++++++ .../telefono/TelefonoSearchController.java | 143 +++++++++++++++ .../telefono/TelefonoUpdateController.java | 88 ++++++++++ .../telefono/TelefonoViewController.java | 60 +++++++ .../trabajador/TrabajadorViewController.java | 8 + .../xyz/danielcortes/framework/PanelName.java | 5 + .../xyz/danielcortes/models/Telefono.java | 71 ++++++++ .../xyz/danielcortes/models/Trabajador.java | 23 ++- .../repository/TelefonoRepository.java | 43 +++++ .../validator/TelefonoValidator.java | 30 ++++ .../views/telefono/TelefonoCreatePanel.form | 74 ++++++++ .../views/telefono/TelefonoCreatePanel.java | 97 ++++++++++ .../views/telefono/TelefonoSearchPanel.form | 116 ++++++++++++ .../views/telefono/TelefonoSearchPanel.java | 165 ++++++++++++++++++ .../views/telefono/TelefonoUpdatePanel.form | 74 ++++++++ .../views/telefono/TelefonoUpdatePanel.java | 97 ++++++++++ .../views/telefono/TelefonoViewPanel.form | 66 +++++++ .../views/telefono/TelefonoViewPanel.java | 88 ++++++++++ 19 files changed, 1337 insertions(+), 2 deletions(-) create mode 100644 src/main/java/xyz/danielcortes/controllers/telefono/TelefonoCreateController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/telefono/TelefonoSearchController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/telefono/TelefonoUpdateController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/telefono/TelefonoViewController.java create mode 100644 src/main/java/xyz/danielcortes/models/Telefono.java create mode 100644 src/main/java/xyz/danielcortes/repository/TelefonoRepository.java create mode 100644 src/main/java/xyz/danielcortes/validator/TelefonoValidator.java create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.form create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.java create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.form create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.java create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.form create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.java create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.form create mode 100644 src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.java diff --git a/src/main/java/xyz/danielcortes/controllers/LaunchController.java b/src/main/java/xyz/danielcortes/controllers/LaunchController.java index 9729a89..89d80e2 100644 --- a/src/main/java/xyz/danielcortes/controllers/LaunchController.java +++ b/src/main/java/xyz/danielcortes/controllers/LaunchController.java @@ -31,6 +31,10 @@ import xyz.danielcortes.controllers.libro.LibroCreateController; import xyz.danielcortes.controllers.libro.LibroSearchController; import xyz.danielcortes.controllers.libro.LibroUpdateController; import xyz.danielcortes.controllers.libro.LibroViewController; +import xyz.danielcortes.controllers.telefono.TelefonoCreateController; +import xyz.danielcortes.controllers.telefono.TelefonoSearchController; +import xyz.danielcortes.controllers.telefono.TelefonoUpdateController; +import xyz.danielcortes.controllers.telefono.TelefonoViewController; import xyz.danielcortes.controllers.trabajador.TrabajadorCreateController; import xyz.danielcortes.controllers.trabajador.TrabajadorSearchController; import xyz.danielcortes.controllers.trabajador.TrabajadorUpdateController; @@ -66,6 +70,10 @@ import xyz.danielcortes.views.libro.LibroCreatePanel; import xyz.danielcortes.views.libro.LibroSearchPanel; import xyz.danielcortes.views.libro.LibroUpdatePanel; import xyz.danielcortes.views.libro.LibroViewPanel; +import xyz.danielcortes.views.telefono.TelefonoCreatePanel; +import xyz.danielcortes.views.telefono.TelefonoSearchPanel; +import xyz.danielcortes.views.telefono.TelefonoUpdatePanel; +import xyz.danielcortes.views.telefono.TelefonoViewPanel; import xyz.danielcortes.views.trabajador.TrabajadorCreatePanel; import xyz.danielcortes.views.trabajador.TrabajadorSearchPanel; import xyz.danielcortes.views.trabajador.TrabajadorUpdatePanel; @@ -133,6 +141,11 @@ public class LaunchController { this.controllers.put(PanelName.CORREO_CREATE, new CorreoCreateController(new CorreoCreatePanel(), this)); this.controllers.put(PanelName.CORREO_UPDATE, new CorreoUpdateController(new CorreoUpdatePanel(), this)); + this.controllers.put(PanelName.TELEFONO_SEARCH, new TelefonoSearchController(new TelefonoSearchPanel(), this)); + this.controllers.put(PanelName.TELEFONO_VIEW, new TelefonoViewController(new TelefonoViewPanel(), this)); + this.controllers.put(PanelName.TELEFONO_CREATE, new TelefonoCreateController(new TelefonoCreatePanel(), this)); + this.controllers.put(PanelName.TELEFONO_UPDATE, new TelefonoUpdateController(new TelefonoUpdatePanel(), this)); + for (PanelName name : this.controllers.keySet()) { BaseController controller = this.controllers.get(name); this.frame.addCard(controller.getView().getContentPane(), name); diff --git a/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoCreateController.java b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoCreateController.java new file mode 100644 index 0000000..fdb82cb --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoCreateController.java @@ -0,0 +1,78 @@ +package xyz.danielcortes.controllers.telefono; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.BaseController; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Telefono; +import xyz.danielcortes.models.Trabajador; +import xyz.danielcortes.repository.TelefonoRepository; +import xyz.danielcortes.validator.TelefonoValidator; +import xyz.danielcortes.views.telefono.TelefonoCreatePanel; + +public class TelefonoCreateController extends BaseController { + + private Trabajador trabajador; + private TelefonoCreatePanel view; + private TelefonoRepository repository; + private TelefonoValidator validator; + + public TelefonoCreateController(TelefonoCreatePanel view, LaunchController parentController) { + super(parentController); + this.view = view; + this.repository = new TelefonoRepository(); + this.validator = new TelefonoValidator(this.repository); + this.setupListeners(); + } + + @Override + public LaunchController getParentController() { + return this.parentController; + } + + @Override + public void show() { + this.view.getNumeroField().requestFocus(); + } + + @Override + public BasePanel getView() { + return this.view; + } + + public void setTrabajador(Trabajador trabajador) { + this.trabajador = trabajador; + } + + private void setupListeners() { + this.view.getGuardarButton().addActionListener(e -> save()); + this.view.getVolverButton().addActionListener(e -> volver()); + } + + private void save() { + String numero = this.view.getNumeroField().getText(); + + ValidationResult numeroValidation = validator.validateTelefono(numero); + if (numeroValidation.hasError()) { + numeroValidation.showErrorDialog(); + return; + } + + Telefono telefono = new Telefono(); + telefono.setNumero(numero); + telefono.getTrabajadores().add(trabajador); + + this.repository.save(telefono); + this.trabajador.getTelefonos().add(telefono); + + this.volver(); + } + + private void volver() { + TelefonoSearchController controller = (TelefonoSearchController) this.getParentController().getCard(PanelName.TELEFONO_SEARCH); + controller.setTrabajador(trabajador); + this.getParentController().showCard(PanelName.TELEFONO_SEARCH); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoSearchController.java b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoSearchController.java new file mode 100644 index 0000000..af56bfc --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoSearchController.java @@ -0,0 +1,143 @@ +package xyz.danielcortes.controllers.telefono; + +import java.util.List; +import javax.swing.JOptionPane; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.controllers.trabajador.TrabajadorViewController; +import xyz.danielcortes.framework.BaseController; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Telefono; +import xyz.danielcortes.models.Trabajador; +import xyz.danielcortes.repository.TelefonoRepository; +import xyz.danielcortes.validator.TelefonoValidator; +import xyz.danielcortes.views.telefono.TelefonoSearchPanel; + +public class TelefonoSearchController extends BaseController { + + private Trabajador trabajador; + private TelefonoSearchPanel view; + private TelefonoRepository telefonoRepository; + private TelefonoValidator validator; + + public TelefonoSearchController(TelefonoSearchPanel view, LaunchController parent) { + super(parent); + this.view = view; + this.telefonoRepository = new TelefonoRepository(); + this.validator = new TelefonoValidator(this.telefonoRepository); + this.setupListeners(); + } + + @Override + public void show() { + this.reload(); + } + + @Override + public BasePanel getView() { + return view; + } + + public void setTrabajador(Trabajador trabajador) { + this.trabajador = trabajador; + } + + public void reload() { + this.loadTelefonosTable(); + this.view.getTelefonosTable().clearSelection(); + } + + private void setupListeners() { + this.view.getCrearButton().addActionListener(e -> this.create()); + this.view.getSearchField().addActionListener(e -> this.search()); + this.view.getBuscarButton().addActionListener(e -> this.search()); + this.view.getVerButton().addActionListener(e -> this.view()); + this.view.getEditarButton().addActionListener(e -> this.edit()); + this.view.getEliminarButton().addActionListener(e -> this.delete()); + this.view.getVolverButton().addActionListener(e -> this.volver()); + } + + private void create() { + TelefonoCreateController controller = (TelefonoCreateController) this.getParentController().getCard(PanelName.TELEFONO_CREATE); + controller.setTrabajador(trabajador); + this.getParentController().showCard(PanelName.TELEFONO_CREATE); + } + + private void edit() { + Telefono telefono = this.getSelectedTelefono(); + if (telefono != null) { + TelefonoUpdateController controller = (TelefonoUpdateController) this.getParentController().getCard(PanelName.TELEFONO_UPDATE); + controller.setTrabajador(trabajador); + controller.setTelefono(telefono); + this.getParentController().showCard(PanelName.TELEFONO_UPDATE); + } + } + + private void delete() { + Telefono telefono = this.getSelectedTelefono(); + if (telefono == null) + return; + + int option = JOptionPane.showConfirmDialog( + null, + "¿Estas seguro de que deseas eliminar el telefono?", + "Confirmacion", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE + ); + if (option == JOptionPane.NO_OPTION) + return; + + this.telefonoRepository.delete(telefono); + this.trabajador.getTelefonos().remove(telefono); + this.reload(); + } + + private void view() { + Telefono telefono = this.getSelectedTelefono(); + if (telefono != null) { + TelefonoViewController controller = (TelefonoViewController) this.getParentController().getCard(PanelName.TELEFONO_VIEW); + controller.setTelefono(telefono); + controller.setTrabajador(trabajador); + this.getParentController().showCard(PanelName.TELEFONO_VIEW); + } + } + + private void search() { + String term = this.view.getSearchField().getText(); + List telefono = this.telefonoRepository.search(term, trabajador); + this.loadTelefonosTable(telefono); + } + + private void volver() { + TrabajadorViewController controller = (TrabajadorViewController) this.getParentController().getCard(PanelName.TRABAJADOR_VIEW); + controller.setTrabajador(this.trabajador); + this.getParentController().showCard(PanelName.TRABAJADOR_VIEW); + } + + private void loadTelefonosTable() { + List telefonos = this.trabajador.getTelefonos(); + loadTelefonosTable(telefonos); + } + + private void loadTelefonosTable(List telefonos) { + BaseTableModel model = this.view.getTelefonoModel(); + model.setRows(telefonos); + } + + private Telefono getSelectedTelefono() { + int selectedRow = this.view.getTelefonosTable().getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog( + null, + "No hay telefono seleccionado", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return null; + } + + return this.view.getTelefonoModel().getRow(selectedRow); + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoUpdateController.java b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoUpdateController.java new file mode 100644 index 0000000..2cc32c3 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoUpdateController.java @@ -0,0 +1,88 @@ +package xyz.danielcortes.controllers.telefono; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.BaseController; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Telefono; +import xyz.danielcortes.models.Trabajador; +import xyz.danielcortes.repository.TelefonoRepository; +import xyz.danielcortes.validator.TelefonoValidator; +import xyz.danielcortes.views.telefono.TelefonoUpdatePanel; + +public class TelefonoUpdateController extends BaseController { + + private Trabajador trabajador; + private Telefono telefono; + private TelefonoUpdatePanel view; + private TelefonoRepository repository; + private TelefonoValidator validator; + + public TelefonoUpdateController(TelefonoUpdatePanel view, LaunchController parentController) { + super(parentController); + this.view = view; + this.repository = new TelefonoRepository(); + this.validator = new TelefonoValidator(this.repository); + this.setupListeners(); + } + + @Override + public LaunchController getParentController() { + return this.parentController; + } + + @Override + public void show() { + this.view.getTelefonoField().requestFocus(); + this.fillTelefono(); + } + + @Override + public BasePanel getView() { + return this.view; + } + + public void setTrabajador(Trabajador trabajador) { + this.trabajador = trabajador; + } + + public void setTelefono(Telefono telefono) { + this.telefono = telefono; + } + + public void fillTelefono() { + this.view.getTelefonoField().setText(this.telefono.getNumero()); + } + + private void setupListeners() { + this.view.getActualizarButton().addActionListener(e -> update()); + this.view.getVolverButton().addActionListener(e -> volver()); + } + + private void update() { + String telefono = this.view.getTelefonoField().getText(); + + ValidationResult originalValidation = this.validator.validateOriginal(this.telefono); + if (originalValidation.hasError()) { + originalValidation.showErrorDialog(); + return; + } + ValidationResult telefonoValidation = this.validator.validateTelefono(telefono); + if(telefonoValidation.hasError()) { + telefonoValidation.showErrorDialog(); + return; + } + + this.telefono.setNumero(telefono); + this.repository.update(this.telefono); + + this.volver(); + } + + private void volver() { + TelefonoSearchController controller = (TelefonoSearchController) this.getParentController().getCard(PanelName.TELEFONO_SEARCH); + controller.setTrabajador(this.trabajador); + this.getParentController().showCard(PanelName.TELEFONO_SEARCH); + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoViewController.java b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoViewController.java new file mode 100644 index 0000000..b6fc53f --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/telefono/TelefonoViewController.java @@ -0,0 +1,60 @@ +package xyz.danielcortes.controllers.telefono; + +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.BaseController; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Telefono; +import xyz.danielcortes.models.Trabajador; +import xyz.danielcortes.views.telefono.TelefonoViewPanel; + +public class TelefonoViewController extends BaseController { + + private Trabajador trabajador; + private Telefono telefono; + private TelefonoViewPanel view; + + public TelefonoViewController(TelefonoViewPanel view, LaunchController parentController) { + super(parentController); + this.view = view; + this.setupListeners(); + } + + @Override + public LaunchController getParentController() { + return this.parentController; + } + + @Override + public void show() { + this.fillTelefono(); + } + + @Override + public BasePanel getView() { + return this.view; + } + + public void setTrabajador(Trabajador trabajador) { + this.trabajador = trabajador; + } + + public void setTelefono(Telefono telefono) { + this.telefono = telefono; + } + + public void fillTelefono() { + this.view.getTelefonoField().setText(this.telefono.getNumero()); + } + + private void setupListeners() { + this.view.getVolverButton().addActionListener(e -> volver()); + } + + private void volver() { + TelefonoSearchController controller = (TelefonoSearchController) this.getParentController().getCard(PanelName.TELEFONO_SEARCH); + controller.setTrabajador(trabajador); + this.getParentController().showCard(PanelName.TELEFONO_SEARCH); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/trabajador/TrabajadorViewController.java b/src/main/java/xyz/danielcortes/controllers/trabajador/TrabajadorViewController.java index b642841..3d90a46 100644 --- a/src/main/java/xyz/danielcortes/controllers/trabajador/TrabajadorViewController.java +++ b/src/main/java/xyz/danielcortes/controllers/trabajador/TrabajadorViewController.java @@ -3,6 +3,7 @@ package xyz.danielcortes.controllers.trabajador; import javax.swing.JOptionPane; import xyz.danielcortes.controllers.LaunchController; import xyz.danielcortes.controllers.correo.CorreoSearchController; +import xyz.danielcortes.controllers.telefono.TelefonoSearchController; import xyz.danielcortes.controllers.usuario.UsuarioCreateController; import xyz.danielcortes.controllers.usuario.UsuarioViewController; import xyz.danielcortes.framework.BaseController; @@ -34,6 +35,13 @@ public class TrabajadorViewController extends BaseController { this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.TRABAJADOR_SEARCH)); this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView()); this.view.getUsuarioButton().addActionListener(e -> this.gotoUsuarioView()); + this.view.getTelefonosButton().addActionListener(e -> this.gotoTelefonoView()); + } + + private void gotoTelefonoView() { + TelefonoSearchController controller = (TelefonoSearchController) this.getParentController().getCard(PanelName.TELEFONO_SEARCH); + controller.setTrabajador(trabajador); + this.getParentController().showCard(PanelName.TELEFONO_SEARCH); } private void gotoCorreosView() { diff --git a/src/main/java/xyz/danielcortes/framework/PanelName.java b/src/main/java/xyz/danielcortes/framework/PanelName.java index c89c4d6..9a9337b 100644 --- a/src/main/java/xyz/danielcortes/framework/PanelName.java +++ b/src/main/java/xyz/danielcortes/framework/PanelName.java @@ -42,5 +42,10 @@ public enum PanelName { CORREO_CREATE, CORREO_UPDATE, + TELEFONO_VIEW, + TELEFONO_SEARCH, + TELEFONO_CREATE, + TELEFONO_UPDATE, + COMPRAR_LIBRO, } diff --git a/src/main/java/xyz/danielcortes/models/Telefono.java b/src/main/java/xyz/danielcortes/models/Telefono.java new file mode 100644 index 0000000..218e855 --- /dev/null +++ b/src/main/java/xyz/danielcortes/models/Telefono.java @@ -0,0 +1,71 @@ +package xyz.danielcortes.models; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.ManyToMany; +import javax.persistence.Table; + +@Entity +@Table(name = "telefono") +public class Telefono { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + private Integer id; + + @Column(name = "numero") + private String numero; + + @ManyToMany(mappedBy = "telefonos") + private List trabajadores; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getNumero() { + return numero; + } + + public void setNumero(String numero) { + this.numero = numero; + } + + public List getTrabajadores() { + if(trabajadores == null) { + trabajadores = new ArrayList<>(); + } + return trabajadores; + } + + public void setTrabajadores(List trabajadores) { + this.trabajadores = trabajadores; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (!(o instanceof Telefono)) + return false; + Telefono telefono = (Telefono) o; + return Objects.equals(id, telefono.id) && + Objects.equals(numero, telefono.numero) && + Objects.equals(trabajadores, telefono.trabajadores); + } + + @Override + public int hashCode() { + return Objects.hash(id, numero, trabajadores); + } +} diff --git a/src/main/java/xyz/danielcortes/models/Trabajador.java b/src/main/java/xyz/danielcortes/models/Trabajador.java index 860d8c1..6989e83 100644 --- a/src/main/java/xyz/danielcortes/models/Trabajador.java +++ b/src/main/java/xyz/danielcortes/models/Trabajador.java @@ -49,6 +49,14 @@ public class Trabajador { ) private List correos; + @ManyToMany + @JoinTable( + name = "trabajador_telefono", + joinColumns = @JoinColumn(name = "trabajador_id", referencedColumnName = "id"), + inverseJoinColumns = @JoinColumn(name = "telefono_id", referencedColumnName = "id") + ) + private List telefonos; + public Integer getId() { return id; } @@ -115,6 +123,16 @@ public class Trabajador { this.correos = correos; } + public List getTelefonos() { + if(telefonos == null) + telefonos = new ArrayList<>(); + return telefonos; + } + + public void setTelefonos(List telefonos) { + this.telefonos = telefonos; + } + @Override public boolean equals(Object o) { if (this == o) @@ -129,12 +147,13 @@ public class Trabajador { Objects.equals(apellidoMaterno, that.apellidoMaterno) && Objects.equals(fechaContrato, that.fechaContrato) && Objects.equals(usuario, that.usuario) && - Objects.equals(correos, that.correos); + Objects.equals(correos, that.correos) && + Objects.equals(telefonos, that.telefonos); } @Override public int hashCode() { - return Objects.hash(id, rut, nombre, apellidoPaterno, apellidoMaterno, fechaContrato, usuario, correos); + return Objects.hash(id, rut, nombre, apellidoPaterno, apellidoMaterno, fechaContrato, usuario, correos, telefonos); } } diff --git a/src/main/java/xyz/danielcortes/repository/TelefonoRepository.java b/src/main/java/xyz/danielcortes/repository/TelefonoRepository.java new file mode 100644 index 0000000..c922865 --- /dev/null +++ b/src/main/java/xyz/danielcortes/repository/TelefonoRepository.java @@ -0,0 +1,43 @@ +package xyz.danielcortes.repository; + +import java.util.List; +import javax.persistence.TypedQuery; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Root; +import xyz.danielcortes.framework.BaseRepository; +import xyz.danielcortes.models.Telefono; +import xyz.danielcortes.models.Trabajador; + +public class TelefonoRepository extends BaseRepository { + + public List getAll() { + TypedQuery query = em.createQuery("SELECT t FROM Telefono t", Telefono.class); + return query.getResultList(); + } + + public List search(String term) { + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery query = cb.createQuery(Telefono.class); + Root r = query.from(Telefono.class); + query.where( + cb.like(cb.lower(r.get("numero")), '%' + term.toLowerCase() + "%") + ); + + return em.createQuery(query).getResultList(); + } + + public List search(String term, Trabajador trabajador) { + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery query = cb.createQuery(Telefono.class); + Root r = query.from(Telefono.class); + query.where( + cb.and( + cb.like(cb.lower(r.get("numero")), '%' + term.toLowerCase() + "%"), + cb.equal(r.get("trabajador_id"), trabajador.getId()) + ) + ); + + return em.createQuery(query).getResultList(); + } +} diff --git a/src/main/java/xyz/danielcortes/validator/TelefonoValidator.java b/src/main/java/xyz/danielcortes/validator/TelefonoValidator.java new file mode 100644 index 0000000..81223b8 --- /dev/null +++ b/src/main/java/xyz/danielcortes/validator/TelefonoValidator.java @@ -0,0 +1,30 @@ +package xyz.danielcortes.validator; + +import xyz.danielcortes.framework.ValidationResult; +import xyz.danielcortes.models.Telefono; +import xyz.danielcortes.repository.TelefonoRepository; + +public class TelefonoValidator { + private TelefonoRepository telefonoRepository; + + public TelefonoValidator(TelefonoRepository telefonoRepository) { + this.telefonoRepository = telefonoRepository; + } + + public ValidationResult validateTelefono(String telefono) { + if(telefono == null) { + return new ValidationResult("El telefono es nulo"); + } else if (telefono.isEmpty()) { + return new ValidationResult("El telefono esta vacio"); + } + return ValidationResult.NON_ERROR; + } + + public ValidationResult validateOriginal(Telefono original) { + if(original == null) { + return new ValidationResult("El telefono seleccionado no existe"); + } + return ValidationResult.NON_ERROR; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.form b/src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.form new file mode 100644 index 0000000..42550f9 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.form @@ -0,0 +1,74 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.java b/src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.java new file mode 100644 index 0000000..5b7c910 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoCreatePanel.java @@ -0,0 +1,97 @@ +package xyz.danielcortes.views.telefono; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import xyz.danielcortes.framework.BasePanel; + +public class TelefonoCreatePanel extends BasePanel { + + private JButton guardarButton; + private JPanel contentPane; + private JButton volverButton; + private JTextField numeroField; + + public JButton getGuardarButton() { + return guardarButton; + } + + public JPanel getContentPane() { + return contentPane; + } + + public JButton getVolverButton() { + return volverButton; + } + + public JTextField getNumeroField() { + return numeroField; + } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + guardarButton = new JButton(); + guardarButton.setText("Guardar"); + panel1.add(guardarButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + volverButton = new JButton(); + volverButton.setText("Volver"); + panel1.add(volverButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("Numero:"); + contentPane.add(label1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + numeroField = new JTextField(); + contentPane.add(numeroField, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); + final Spacer spacer1 = new Spacer(); + contentPane.add(spacer1, + new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); + final Spacer spacer2 = new Spacer(); + contentPane.add(spacer2, + new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final Spacer spacer3 = new Spacer(); + contentPane.add(spacer3, + new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.form b/src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.form new file mode 100644 index 0000000..19dec51 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.form @@ -0,0 +1,116 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.java b/src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.java new file mode 100644 index 0000000..6f05b1c --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoSearchPanel.java @@ -0,0 +1,165 @@ +package xyz.danielcortes.views.telefono; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import xyz.danielcortes.framework.BasePanel; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.models.Telefono; + +public class TelefonoSearchPanel extends BasePanel { + + private JPanel contentPane; + private JTable telefonosTable; + private JTextField searchField; + private JButton buscarButton; + private JButton verButton; + private JButton eliminarButton; + private JButton editarButton; + private JButton crearButton; + private JButton volverButton; + private BaseTableModel telefonoModel; + + public JPanel getContentPane() { + return contentPane; + } + + public JTable getTelefonosTable() { + return telefonosTable; + } + + public JTextField getSearchField() { + return searchField; + } + + public JButton getBuscarButton() { + return buscarButton; + } + + public JButton getVerButton() { + return verButton; + } + + public JButton getEliminarButton() { + return eliminarButton; + } + + public JButton getEditarButton() { + return editarButton; + } + + public JButton getCrearButton() { + return crearButton; + } + + public JButton getVolverButton() { + return volverButton; + } + + public BaseTableModel getTelefonoModel() { + return telefonoModel; + } + + private void createUIComponents() { + this.creatTelefonoTable(); + } + + private void creatTelefonoTable() { + // @formatter:off + this.telefonoModel = new BaseTableModel<>( + new String[]{"Numero"}, + (row, rowIndex, colIndex) -> { + switch (colIndex) { + case 0: return row.get(rowIndex).getNumero(); + default: return null; + } + } + ); + // @formatter:on + this.telefonosTable = new JTable(this.telefonoModel); + this.telefonosTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + createUIComponents(); + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(4, 1, new Insets(20, 20, 20, 20), -1, -1)); + final JScrollPane scrollPane1 = new JScrollPane(); + contentPane.add(scrollPane1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(400, -1), null, 0, false)); + scrollPane1.setViewportView(telefonosTable); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 4, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + verButton = new JButton(); + verButton.setText("Ver"); + panel1.add(verButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + eliminarButton = new JButton(); + eliminarButton.setText("Eliminar"); + panel1.add(eliminarButton, new GridConstraints(0, 3, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + editarButton = new JButton(); + editarButton.setText("Editar"); + panel1.add(editarButton, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + crearButton = new JButton(); + crearButton.setText("Crear"); + panel1.add(crearButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + volverButton = new JButton(); + volverButton.setText("Volver"); + contentPane.add(volverButton, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + buscarButton = new JButton(); + buscarButton.setText("Buscar"); + panel2.add(buscarButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + searchField = new JTextField(); + panel2.add(searchField, + new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.form b/src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.form new file mode 100644 index 0000000..689ecfa --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.form @@ -0,0 +1,74 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.java b/src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.java new file mode 100644 index 0000000..9101107 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoUpdatePanel.java @@ -0,0 +1,97 @@ +package xyz.danielcortes.views.telefono; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import xyz.danielcortes.framework.BasePanel; + +public class TelefonoUpdatePanel extends BasePanel { + + private JButton actualizarButton; + private JPanel contentPane; + private JButton volverButton; + private JTextField telefonoField; + + public JButton getActualizarButton() { + return actualizarButton; + } + + public JPanel getContentPane() { + return contentPane; + } + + public JButton getVolverButton() { + return volverButton; + } + + public JTextField getTelefonoField() { + return telefonoField; + } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + actualizarButton = new JButton(); + actualizarButton.setText("Actualizar"); + panel1.add(actualizarButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + volverButton = new JButton(); + volverButton.setText("Volver"); + panel1.add(volverButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("Telefono:"); + contentPane.add(label1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + telefonoField = new JTextField(); + contentPane.add(telefonoField, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); + final Spacer spacer1 = new Spacer(); + contentPane.add(spacer1, + new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); + final Spacer spacer2 = new Spacer(); + contentPane.add(spacer2, + new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final Spacer spacer3 = new Spacer(); + contentPane.add(spacer3, + new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.form b/src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.form new file mode 100644 index 0000000..bc45b1e --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.form @@ -0,0 +1,66 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.java b/src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.java new file mode 100644 index 0000000..d28ad9e --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/telefono/TelefonoViewPanel.java @@ -0,0 +1,88 @@ +package xyz.danielcortes.views.telefono; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import xyz.danielcortes.framework.BasePanel; + +public class TelefonoViewPanel extends BasePanel { + + private JPanel contentPane; + private JButton volverButton; + private JTextField telefonoField; + + public JPanel getContentPane() { + return contentPane; + } + + public JButton getVolverButton() { + return volverButton; + } + + public JTextField getTelefonoField() { + return telefonoField; + } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + volverButton = new JButton(); + volverButton.setText("Volver"); + panel1.add(volverButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("Telefono:"); + contentPane.add(label1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + telefonoField = new JTextField(); + telefonoField.setEditable(false); + contentPane.add(telefonoField, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); + final Spacer spacer1 = new Spacer(); + contentPane.add(spacer1, + new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); + final Spacer spacer2 = new Spacer(); + contentPane.add(spacer2, + new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final Spacer spacer3 = new Spacer(); + contentPane.add(spacer3, + new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +}