From 7d15a0cf5490cf5cbb94ff5b2b1cab9e24029f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Cort=C3=A9s?= Date: Sat, 11 May 2019 21:25:19 -0400 Subject: [PATCH] Se actualizaron los paneles del idioma estan wonitas falta solo la de los libros <3 --- .../controllers/LaunchController.java | 9 +- .../idioma/IdiomaListController.java | 43 ------ .../idioma/IdiomaSearchController.java | 119 ++++++++++++++ .../idioma/IdiomaUpdateController.java | 47 +++--- .../controllers/idioma/IdiomaValidator.java | 12 ++ .../idioma/IdiomaViewController.java | 47 ++++++ .../xyz/danielcortes/framework/PanelName.java | 2 + .../xyz/danielcortes/views/LaunchFrame.java | 6 +- .../views/idioma/IdiomaDeletePanel.java | 103 ------------ .../views/idioma/IdiomaListPanel.form | 28 ---- .../views/idioma/IdiomaListPanel.java | 85 ---------- .../views/idioma/IdiomaSearchPanel.form | 96 ++++++++++++ .../views/idioma/IdiomaSearchPanel.java | 146 ++++++++++++++++++ .../views/idioma/IdiomaUpdatePanel.form | 30 +--- .../views/idioma/IdiomaUpdatePanel.java | 74 +++------ ...aDeletePanel.form => IdiomaViewPanel.form} | 39 ++--- .../views/idioma/IdiomaViewPanel.java | 82 ++++++++++ 17 files changed, 580 insertions(+), 388 deletions(-) delete mode 100644 src/main/java/xyz/danielcortes/controllers/idioma/IdiomaListController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/idioma/IdiomaSearchController.java create mode 100644 src/main/java/xyz/danielcortes/controllers/idioma/IdiomaViewController.java delete mode 100644 src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.java delete mode 100644 src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.form delete mode 100644 src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.java create mode 100644 src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.form create mode 100644 src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.java rename src/main/java/xyz/danielcortes/views/idioma/{IdiomaDeletePanel.form => IdiomaViewPanel.form} (74%) create mode 100644 src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.java diff --git a/src/main/java/xyz/danielcortes/controllers/LaunchController.java b/src/main/java/xyz/danielcortes/controllers/LaunchController.java index ff52387..4a88ca1 100644 --- a/src/main/java/xyz/danielcortes/controllers/LaunchController.java +++ b/src/main/java/xyz/danielcortes/controllers/LaunchController.java @@ -20,8 +20,9 @@ import xyz.danielcortes.controllers.editorial.EditorialSearchController; import xyz.danielcortes.controllers.editorial.EditorialUpdateController; import xyz.danielcortes.controllers.editorial.EditorialViewController; import xyz.danielcortes.controllers.idioma.IdiomaCreateController; -import xyz.danielcortes.controllers.idioma.IdiomaListController; +import xyz.danielcortes.controllers.idioma.IdiomaSearchController; import xyz.danielcortes.controllers.idioma.IdiomaUpdateController; +import xyz.danielcortes.controllers.idioma.IdiomaViewController; import xyz.danielcortes.controllers.libro.LibroCreateController; import xyz.danielcortes.controllers.libro.LibroListController; import xyz.danielcortes.controllers.libro.LibroUpdateController; @@ -40,8 +41,9 @@ import xyz.danielcortes.views.editorial.EditorialSearchPanel; import xyz.danielcortes.views.editorial.EditorialUpdatePanel; import xyz.danielcortes.views.editorial.EditorialViewPanel; import xyz.danielcortes.views.idioma.IdiomaCreatePanel; -import xyz.danielcortes.views.idioma.IdiomaListPanel; +import xyz.danielcortes.views.idioma.IdiomaSearchPanel; import xyz.danielcortes.views.idioma.IdiomaUpdatePanel; +import xyz.danielcortes.views.idioma.IdiomaViewPanel; import xyz.danielcortes.views.libro.LibroCreatePanel; import xyz.danielcortes.views.libro.LibroListPanel; import xyz.danielcortes.views.libro.LibroUpdatePanel; @@ -73,7 +75,8 @@ public class LaunchController { this.controllers.put(PanelName.AUTOR_CREATE, new AutorCreateController(new AutorCreatePanel(), this)); this.controllers.put(PanelName.AUTOR_UPDATE, new AutorUpdateController(new AutorUpdatePanel(), this)); - this.controllers.put(PanelName.IDIOMA_SEARCH, new IdiomaListController(new IdiomaListPanel(), this)); + this.controllers.put(PanelName.IDIOMA_VIEW, new IdiomaViewController(new IdiomaViewPanel(), this)); + this.controllers.put(PanelName.IDIOMA_SEARCH, new IdiomaSearchController(new IdiomaSearchPanel(), this)); this.controllers.put(PanelName.IDIOMA_CREATE, new IdiomaCreateController(new IdiomaCreatePanel(), this)); this.controllers.put(PanelName.IDIOMA_UPDATE, new IdiomaUpdateController(new IdiomaUpdatePanel(), this)); diff --git a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaListController.java b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaListController.java deleted file mode 100644 index 22db4b8..0000000 --- a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaListController.java +++ /dev/null @@ -1,43 +0,0 @@ -package xyz.danielcortes.controllers.idioma; - -import java.util.List; -import xyz.danielcortes.controllers.BaseController; -import xyz.danielcortes.controllers.LaunchController; -import xyz.danielcortes.framework.BaseTableModel; -import xyz.danielcortes.models.Idioma; -import xyz.danielcortes.repository.IdiomaRepository; -import xyz.danielcortes.views.BasePanel; -import xyz.danielcortes.views.idioma.IdiomaListPanel; - -public class IdiomaListController extends BaseController { - - private IdiomaListPanel view; - private IdiomaRepository idiomaRepository; - - public IdiomaListController(IdiomaListPanel view, LaunchController parent) { - super(parent); - this.view = view; - this.idiomaRepository = new IdiomaRepository(); - this.loadIdiomaTable(); - } - - @Override - public void show() { - this.reload(); - } - - public void reload() { - this.loadIdiomaTable(); - } - - private void loadIdiomaTable() { - List idiomas = this.idiomaRepository.getAll(); - BaseTableModel model = this.view.getIdiomaTableModel(); - model.setRows(idiomas); - } - - public BasePanel getView() { - return view; - } - -} diff --git a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaSearchController.java b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaSearchController.java new file mode 100644 index 0000000..8627347 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaSearchController.java @@ -0,0 +1,119 @@ +package xyz.danielcortes.controllers.idioma; + +import java.util.List; +import javax.swing.JOptionPane; +import xyz.danielcortes.controllers.BaseController; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Idioma; +import xyz.danielcortes.repository.IdiomaRepository; +import xyz.danielcortes.views.BasePanel; +import xyz.danielcortes.views.idioma.IdiomaSearchPanel; + +public class IdiomaSearchController extends BaseController { + + private IdiomaSearchPanel view; + private IdiomaRepository idiomaRepository; + private IdiomaValidator validator; + + public IdiomaSearchController(IdiomaSearchPanel view, LaunchController parent) { + super(parent); + this.view = view; + this.idiomaRepository = new IdiomaRepository(); + this.validator = new IdiomaValidator(this.idiomaRepository); + this.loadIdiomaTable(); + this.setupListeners(); + } + + @Override + public void show() { + this.reload(); + } + + public void reload() { + this.loadIdiomaTable(); + } + + private void setupListeners() { + this.view.getBuscarButton().addActionListener(e -> search()); + this.view.getBuscarField().addActionListener(e -> search()); + this.view.getEliminarButton().addActionListener(e -> delete()); + this.view.getEditarButton().addActionListener(e -> edit()); + this.view.getVerButton().addActionListener(e -> view()); + } + + private void view() { + Idioma idioma = this.getSelectedIdioma(); + if(idioma != null) { + IdiomaViewController controller = (IdiomaViewController) this.getParentController().getCard(PanelName.IDIOMA_VIEW); + controller.setIdioma(idioma); + this.getParentController().showCard(PanelName.IDIOMA_VIEW); + } + } + + private void edit() { + Idioma idioma = this.getSelectedIdioma(); + if(idioma != null){ + IdiomaUpdateController controller = (IdiomaUpdateController) this.getParentController().getCard(PanelName.IDIOMA_UPDATE); + controller.setIdioma(idioma); + this.getParentController().showCard(PanelName.IDIOMA_UPDATE); + } + } + + private void delete() { + Idioma idioma = this.getSelectedIdioma(); + if(idioma == null) + return; + if(!this.validator.isDeleteable(idioma)) + return; + + int option = JOptionPane.showConfirmDialog( + null, + "¿Estas seguro de que deseas eliminar el idioma?", + "Confirmacion", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE + ); + if (option == JOptionPane.NO_OPTION) + return; + + this.idiomaRepository.delete(idioma); + this.reload(); + } + + private void search(){ + String term = this.view.getBuscarField().getText(); + List idiomas = this.idiomaRepository.search(term); + this.loadIdiomaTable(idiomas); + } + + private void loadIdiomaTable(List idiomas){ + BaseTableModel model = this.view.getIdiomaTableModel(); + model.setRows(idiomas); + } + + private void loadIdiomaTable() { + List idiomas = this.idiomaRepository.getAll(); + loadIdiomaTable(idiomas); + } + + public BasePanel getView() { + return view; + } + + private Idioma getSelectedIdioma() { + int selectedRow = this.view.getIdiomaTable().getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog( + null, + "No hay Idioma seleccionado", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return null; + } + return this.view.getIdiomaTableModel().getRow(selectedRow); + } + +} diff --git a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaUpdateController.java b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaUpdateController.java index ec1296f..bd931c0 100644 --- a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaUpdateController.java +++ b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaUpdateController.java @@ -1,9 +1,8 @@ package xyz.danielcortes.controllers.idioma; -import java.util.List; -import javax.swing.JComboBox; import xyz.danielcortes.controllers.BaseController; import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.PanelName; import xyz.danielcortes.models.Idioma; import xyz.danielcortes.repository.IdiomaRepository; import xyz.danielcortes.views.BasePanel; @@ -14,6 +13,7 @@ public class IdiomaUpdateController extends BaseController { private IdiomaUpdatePanel view; private IdiomaRepository idiomaRepository; private IdiomaValidator validator; + private Idioma idioma; public IdiomaUpdateController(IdiomaUpdatePanel view, LaunchController parent) { super(parent); @@ -25,51 +25,40 @@ public class IdiomaUpdateController extends BaseController { @Override public void show() { - this.reload(); - this.view.getIdiomaCombo().requestFocus(); + if(this.idioma == null) + return; + + this.fillIdioma(); + } + + private void fillIdioma(){ + this.view.getNombreField().setText(this.idioma.getNombre()); } private void setupListeners() { - this.view.getIdiomaCombo().addActionListener(e -> { - Idioma selected = (Idioma) this.view.getIdiomaCombo().getSelectedItem(); - if(selected != null) - this.view.getNombreField().setText(selected.getNombre()); - }); this.view.getNombreField().addActionListener(e -> this.update()); this.view.getActualizarButton().addActionListener(e -> this.update()); } private void update() { - Idioma original = (Idioma) this.view.getIdiomaCombo().getSelectedItem(); - if (!this.validator.validateOriginal(original)) return; + if (!this.validator.validateOriginal(this.idioma)) return; String nombre = this.view.getNombreField().getText(); if (!this.validator.validateNombre(nombre)) return; - assert original != null; - original.setNombre(nombre); - idiomaRepository.update(original); + assert this.idioma != null; + this.idioma.setNombre(nombre); + idiomaRepository.update(this.idioma); this.view.getNombreField().setText(""); - this.loadIdiomaCombo(); - this.view.getNombreField().requestFocus(); - } - - public void reload() { - this.loadIdiomaCombo(); - } - - private void loadIdiomaCombo() { - List idiomas = this.idiomaRepository.getAll(); - JComboBox combobox = this.view.getIdiomaCombo(); - combobox.removeAllItems(); - for (Idioma idioma : idiomas) { - combobox.addItem(idioma); - } + this.getParentController().showCard(PanelName.IDIOMA_SEARCH); } public BasePanel getView() { return view; } + public void setIdioma(Idioma idioma) { + this.idioma = idioma; + } } diff --git a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaValidator.java b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaValidator.java index c14555e..4d0575b 100644 --- a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaValidator.java +++ b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaValidator.java @@ -45,5 +45,17 @@ public class IdiomaValidator { return true; } + public boolean isDeleteable(Idioma idioma){ + if(idioma.getLibros().size() > 0){ + JOptionPane.showMessageDialog( + null, + "No se puede eliminar el idioma ya que tiene libros asociados", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return false; + } + return true; + } } diff --git a/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaViewController.java b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaViewController.java new file mode 100644 index 0000000..c56d820 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/idioma/IdiomaViewController.java @@ -0,0 +1,47 @@ +package xyz.danielcortes.controllers.idioma; + +import xyz.danielcortes.controllers.BaseController; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Idioma; +import xyz.danielcortes.views.BasePanel; +import xyz.danielcortes.views.idioma.IdiomaViewPanel; + +public class IdiomaViewController extends BaseController { + + private Idioma idioma; + private IdiomaViewPanel view; + + public IdiomaViewController(IdiomaViewPanel view, LaunchController parent) { + super(parent); + this.view = view; + this.setupListeners(); + } + + @Override + public void show() { + this.fillIdioma(); + } + + public void setIdioma(Idioma idioma) { + this.idioma = idioma; + } + + private void setupListeners() { + this.view.getVolverButton().addActionListener(e -> { + this.getParentController().showCard(PanelName.IDIOMA_SEARCH); + }); + } + + private void fillIdioma() { + if (idioma == null) + return; + + this.view.getNombreField().setText(this.idioma.getNombre()); + } + + @Override + public BasePanel getView() { + return this.view; + } +} diff --git a/src/main/java/xyz/danielcortes/framework/PanelName.java b/src/main/java/xyz/danielcortes/framework/PanelName.java index 07bc962..d7f0a8f 100644 --- a/src/main/java/xyz/danielcortes/framework/PanelName.java +++ b/src/main/java/xyz/danielcortes/framework/PanelName.java @@ -3,10 +3,12 @@ package xyz.danielcortes.framework; public enum PanelName { EMPTY, + LIBRO_VIEW, LIBRO_SEARCH, LIBRO_CREATE, LIBRO_UPDATE, + IDIOMA_VIEW, IDIOMA_SEARCH, IDIOMA_CREATE, IDIOMA_UPDATE, diff --git a/src/main/java/xyz/danielcortes/views/LaunchFrame.java b/src/main/java/xyz/danielcortes/views/LaunchFrame.java index 3b20f79..f5512d4 100644 --- a/src/main/java/xyz/danielcortes/views/LaunchFrame.java +++ b/src/main/java/xyz/danielcortes/views/LaunchFrame.java @@ -1,6 +1,7 @@ package xyz.danielcortes.views; import java.awt.CardLayout; +import java.awt.Dimension; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; @@ -8,9 +9,12 @@ import javax.swing.WindowConstants; import xyz.danielcortes.framework.PanelName; public class LaunchFrame extends JFrame { + private Dimension dimension; public LaunchFrame() { - this.setSize(800, 600); + this.dimension = new Dimension(800, 600); + this.setSize(this.dimension); + this.setMinimumSize(this.dimension); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); this.setLocationRelativeTo(null); this.setupCardPanel(); diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.java b/src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.java deleted file mode 100644 index 0f5ba16..0000000 --- a/src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.java +++ /dev/null @@ -1,103 +0,0 @@ -package xyz.danielcortes.views.idioma; - -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.DefaultComboBoxModel; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; -import xyz.danielcortes.models.Idioma; -import xyz.danielcortes.views.BasePanel; - -public class IdiomaDeletePanel extends BasePanel { - - private JPanel contentPane; - private JButton eliminarButton; - private JComboBox idiomaCombo; - private DefaultComboBoxModel idiomaModel; - - public JPanel getContentPane() { - return contentPane; - } - - public JButton getEliminarButton() { - return eliminarButton; - } - - public JComboBox getIdiomaCombo() { - return idiomaCombo; - } - - public DefaultComboBoxModel getIdiomaModel() { - return idiomaModel; - } - - { -// 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, 3, new Insets(20, 20, 20, 20), -1, -1)); - final DefaultComboBoxModel defaultComboBoxModel1 = new DefaultComboBoxModel(); - idiomaCombo.setModel(defaultComboBoxModel1); - contentPane.add(idiomaCombo, 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)); - eliminarButton = new JButton(); - eliminarButton.setText("Eliminar"); - contentPane.add(eliminarButton, - new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, null, 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)); - final JLabel label1 = new JLabel(); - label1.setText("Idioma:"); - 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)); - } - - /** - * @noinspection ALL - */ - public JComponent $$$getRootComponent$$$() { - return contentPane; - } - - private void createUIComponents() { - this.createIdiomaCombo(); - } - - private void createIdiomaCombo() { - idiomaModel = new DefaultComboBoxModel<>(); - idiomaCombo = new JComboBox<>(idiomaModel); - } -} diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.form b/src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.form deleted file mode 100644 index c4fa0ea..0000000 --- a/src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.form +++ /dev/null @@ -1,28 +0,0 @@ - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.java b/src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.java deleted file mode 100644 index d1ae5ff..0000000 --- a/src/main/java/xyz/danielcortes/views/idioma/IdiomaListPanel.java +++ /dev/null @@ -1,85 +0,0 @@ -package xyz.danielcortes.views.idioma; - -import com.intellij.uiDesigner.core.GridConstraints; -import com.intellij.uiDesigner.core.GridLayoutManager; -import java.awt.Dimension; -import java.awt.Insets; -import javax.swing.JComponent; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import xyz.danielcortes.framework.BaseTableModel; -import xyz.danielcortes.models.Idioma; -import xyz.danielcortes.views.BasePanel; - -public class IdiomaListPanel extends BasePanel { - - private JPanel contentPane; - private JTable idiomaTable; - private BaseTableModel idiomaTableModel; - - public JPanel getContentPane() { - return contentPane; - } - - public JTable getIdiomaTable() { - return idiomaTable; - } - - public BaseTableModel getIdiomaTableModel() { - return idiomaTableModel; - } - - { -// 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(1, 1, new Insets(20, 20, 20, 20), -1, -1)); - final JScrollPane scrollPane1 = new JScrollPane(); - contentPane.add(scrollPane1, - 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_WANT_GROW, null, - new Dimension(400, -1), null, 0, false)); - scrollPane1.setViewportView(idiomaTable); - } - - /** - * @noinspection ALL - */ - public JComponent $$$getRootComponent$$$() { - return contentPane; - } - - private void createUIComponents() { - this.createIdiomaTable(); - } - - private void createIdiomaTable() { - // @formatter:off - this.idiomaTableModel = new BaseTableModel<>( - new String[]{"Nombre", "Nº Libros"}, - (row, rowIndex, colIndex) -> { - switch (colIndex) { - case 0: return row.get(rowIndex).getNombre(); - case 1: return row.get(rowIndex).getLibros().size(); - default: return null; - } - } - ); - // @formatter:on - this.idiomaTable = new JTable(this.idiomaTableModel); - } -} diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.form b/src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.form new file mode 100644 index 0000000..aed9128 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.form @@ -0,0 +1,96 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.java b/src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.java new file mode 100644 index 0000000..eb76b06 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/idioma/IdiomaSearchPanel.java @@ -0,0 +1,146 @@ +package xyz.danielcortes.views.idioma; + +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.BaseTableModel; +import xyz.danielcortes.models.Idioma; +import xyz.danielcortes.views.BasePanel; + +public class IdiomaSearchPanel extends BasePanel { + + private JPanel contentPane; + private JTable idiomaTable; + private JButton buscarButton; + private JTextField buscarField; + private JButton verButton; + private JButton editarButton; + private JButton eliminarButton; + private BaseTableModel idiomaTableModel; + + @Override + public JPanel getContentPane() { + return contentPane; + } + + public JTable getIdiomaTable() { + return idiomaTable; + } + + public JButton getBuscarButton() { + return buscarButton; + } + + public JTextField getBuscarField() { + return buscarField; + } + + public JButton getVerButton() { + return verButton; + } + + public JButton getEditarButton() { + return editarButton; + } + + public JButton getEliminarButton() { + return eliminarButton; + } + + public BaseTableModel getIdiomaTableModel() { + return idiomaTableModel; + } + + { +// 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(3, 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_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(400, -1), null, 0, false)); + scrollPane1.setViewportView(idiomaTable); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, 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"); + panel1.add(buscarButton, 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)); + buscarField = new JTextField(); + panel1.add(buscarField, + 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)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel2, 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"); + panel2.add(verButton, 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)); + editarButton = new JButton(); + editarButton.setText("Editar"); + panel2.add(editarButton, 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"); + panel2.add(eliminarButton, 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)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + + private void createUIComponents() { + this.createIdiomaTable(); + } + + private void createIdiomaTable() { + // @formatter:off + this.idiomaTableModel = new BaseTableModel<>( + new String[]{"Nombre", "Nº Libros"}, + (row, rowIndex, colIndex) -> { + switch (colIndex) { + case 0: return row.get(rowIndex).getNombre(); + case 1: return row.get(rowIndex).getLibros().size(); + default: return null; + } + } + ); + // @formatter:on + this.idiomaTable = new JTable(this.idiomaTableModel); + this.idiomaTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + } +} diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.form b/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.form index 33a2a04..eedaf1e 100644 --- a/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.form +++ b/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.form @@ -1,22 +1,14 @@
- + - + - - - - - - - - @@ -26,38 +18,30 @@ - + - + - + - + - - - - - - - - - + diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.java b/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.java index 83b8567..925b7f5 100644 --- a/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.java +++ b/src/main/java/xyz/danielcortes/views/idioma/IdiomaUpdatePanel.java @@ -5,22 +5,17 @@ import com.intellij.uiDesigner.core.GridLayoutManager; import com.intellij.uiDesigner.core.Spacer; import java.awt.Dimension; import java.awt.Insets; -import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; -import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; -import xyz.danielcortes.models.Idioma; import xyz.danielcortes.views.BasePanel; public class IdiomaUpdatePanel extends BasePanel { private JPanel contentPane; private JTextField nombreField; - private JComboBox idiomaCombo; - private DefaultComboBoxModel idiomaModel; private JButton actualizarButton; public JPanel getContentPane() { @@ -31,14 +26,6 @@ public class IdiomaUpdatePanel extends BasePanel { return nombreField; } - public JComboBox getIdiomaCombo() { - return idiomaCombo; - } - - public DefaultComboBoxModel getIdiomaModel() { - return idiomaModel; - } - public JButton getActualizarButton() { return actualizarButton; } @@ -51,52 +38,37 @@ public class IdiomaUpdatePanel extends BasePanel { } /** - * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR - * call it in your code! + * 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(6, 3, new Insets(20, 20, 20, 20), -1, -1)); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); nombreField = new JTextField(); - contentPane.add(nombreField, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); - contentPane.add(idiomaCombo, 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)); + contentPane.add(nombreField, + 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(5, 1, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, - false)); + 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(5, 2, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, - 0, false)); + 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(5, 0, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, - 0, false)); + 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)); actualizarButton = new JButton(); actualizarButton.setText("Actualizar"); - contentPane.add(actualizarButton, - new GridConstraints(4, 0, 1, 3, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + contentPane.add(actualizarButton, new GridConstraints(2, 0, 1, 3, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final JLabel label1 = new JLabel(); - label1.setText("Original:"); - 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)); - final JLabel label2 = new JLabel(); - label2.setText("Nombre:"); - contentPane.add(label2, - new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, - false)); + label1.setText("Nombre:"); + 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)); } /** @@ -106,12 +78,4 @@ public class IdiomaUpdatePanel extends BasePanel { return contentPane; } - private void createUIComponents() { - this.createIdiomaCombo(); - } - - private void createIdiomaCombo() { - idiomaModel = new DefaultComboBoxModel<>(); - idiomaCombo = new JComboBox<>(idiomaModel); - } } diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.form b/src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.form similarity index 74% rename from src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.form rename to src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.form index ab1d965..2122bc7 100644 --- a/src/main/java/xyz/danielcortes/views/idioma/IdiomaDeletePanel.form +++ b/src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.form @@ -1,54 +1,57 @@ - + - + - + + + + + + + + + - + + - + - + + + - + - + - + - + - - - - - - - - diff --git a/src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.java b/src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.java new file mode 100644 index 0000000..0c65231 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/idioma/IdiomaViewPanel.java @@ -0,0 +1,82 @@ +package xyz.danielcortes.views.idioma; + +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.views.BasePanel; + +public class IdiomaViewPanel extends BasePanel { + + private JPanel contentPane; + private JTextField nombreField; + private JButton volverButton; + + public JPanel getContentPane() { + return contentPane; + } + + public JTextField getNombreField() { + return nombreField; + } + + public JButton getVolverButton() { + return volverButton; + } + + { +// 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 JLabel label1 = new JLabel(); + label1.setText("Nombre:"); + 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)); + nombreField = new JTextField(); + nombreField.setText(""); + contentPane.add(nombreField, + 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)); + volverButton = new JButton(); + volverButton.setText("Volver"); + contentPane.add(volverButton, new GridConstraints(2, 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 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; + } +}