374 lines
16 KiB
Java
374 lines
16 KiB
Java
/*
|
|
* MIT License
|
|
*
|
|
* Copyright (c) 2018-2019 Daniel Cortes
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in all
|
|
* copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
* SOFTWARE.
|
|
*/
|
|
|
|
package danielcortes.xyz.views;
|
|
|
|
import com.intellij.uiDesigner.core.GridConstraints;
|
|
import com.intellij.uiDesigner.core.GridLayoutManager;
|
|
import com.intellij.uiDesigner.core.Spacer;
|
|
import danielcortes.xyz.models.tipo_ingreso.TipoIngresoToStringWrapper;
|
|
import danielcortes.xyz.views.components.NumberFormatedTextField;
|
|
import danielcortes.xyz.views.components.table_model.IngresosTableModel;
|
|
import java.awt.Color;
|
|
import java.awt.Dimension;
|
|
import java.awt.Insets;
|
|
import javax.swing.BorderFactory;
|
|
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.JScrollPane;
|
|
import javax.swing.JTable;
|
|
import javax.swing.JTextField;
|
|
import javax.swing.ListSelectionModel;
|
|
import javax.swing.RowSorter;
|
|
import javax.swing.table.TableRowSorter;
|
|
|
|
public class IngresosView {
|
|
|
|
private JPanel contentPanel;
|
|
private JTable ingresosTable;
|
|
private JButton guardarButton;
|
|
private JButton eliminarButton;
|
|
private NumberFormatedTextField totalIngresoField;
|
|
private NumberFormatedTextField valorField;
|
|
private JComboBox<TipoIngresoToStringWrapper> tipoCombo;
|
|
private JLabel errorTipoIngreso;
|
|
private JLabel errorValor;
|
|
private JButton editarButton;
|
|
private JTextField nroInicialField;
|
|
private JTextField nroFinalField;
|
|
private JLabel errorNroInicial;
|
|
private JLabel errorNroFinal;
|
|
private JTextField nroZInicialField;
|
|
private JTextField nroZFinalField;
|
|
private JLabel errorNroZFinal;
|
|
private JLabel errorNroZInicial;
|
|
|
|
private IngresosTableModel ingresosTableModel;
|
|
|
|
private void createUIComponents() {
|
|
this.createIngresosTable();
|
|
this.createTipoCombo();
|
|
}
|
|
|
|
private void createIngresosTable() {
|
|
this.ingresosTableModel = new IngresosTableModel();
|
|
this.ingresosTable = new JTable(ingresosTableModel);
|
|
|
|
RowSorter<IngresosTableModel> sorter = new TableRowSorter<>(ingresosTableModel);
|
|
this.ingresosTable.setRowSorter(sorter);
|
|
this.ingresosTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
|
}
|
|
|
|
private void createTipoCombo() {
|
|
this.tipoCombo = new JComboBox<>();
|
|
}
|
|
|
|
public JPanel getContentPanel() {
|
|
return contentPanel;
|
|
}
|
|
|
|
public JTable getIngresosTable() {
|
|
return ingresosTable;
|
|
}
|
|
|
|
public JButton getGuardarButton() {
|
|
return guardarButton;
|
|
}
|
|
|
|
public JButton getEliminarButton() {
|
|
return eliminarButton;
|
|
}
|
|
|
|
public NumberFormatedTextField getTotalIngresoField() {
|
|
return totalIngresoField;
|
|
}
|
|
|
|
public NumberFormatedTextField getValorField() {
|
|
return valorField;
|
|
}
|
|
|
|
public JComboBox<TipoIngresoToStringWrapper> getTipoCombo() {
|
|
return tipoCombo;
|
|
}
|
|
|
|
public JLabel getErrorTipoIngreso() {
|
|
return errorTipoIngreso;
|
|
}
|
|
|
|
public JLabel getErrorValor() {
|
|
return errorValor;
|
|
}
|
|
|
|
public JButton getEditarButton() {
|
|
return editarButton;
|
|
}
|
|
|
|
public JTextField getNroInicialField() {
|
|
return nroInicialField;
|
|
}
|
|
|
|
public JTextField getNroFinalField() {
|
|
return nroFinalField;
|
|
}
|
|
|
|
public JLabel getErrorNroInicial() {
|
|
return errorNroInicial;
|
|
}
|
|
|
|
public JLabel getErrorNroFinal() {
|
|
return errorNroFinal;
|
|
}
|
|
|
|
public IngresosTableModel getIngresosTableModel() {
|
|
return ingresosTableModel;
|
|
}
|
|
|
|
public JTextField getNroZInicialField() {
|
|
return nroZInicialField;
|
|
}
|
|
|
|
public JTextField getNroZFinalField() {
|
|
return nroZFinalField;
|
|
}
|
|
|
|
public JLabel getErrorNroZFinal() {
|
|
return errorNroZFinal;
|
|
}
|
|
|
|
public JLabel getErrorNroZInicial() {
|
|
return errorNroZInicial;
|
|
}
|
|
|
|
{
|
|
// 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();
|
|
contentPanel = new JPanel();
|
|
contentPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));
|
|
final JPanel panel1 = new JPanel();
|
|
panel1.setLayout(new GridLayoutManager(3, 1, new Insets(10, 10, 10, 10), -1, -1));
|
|
contentPanel.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));
|
|
panel1.setBorder(
|
|
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Ingresos"));
|
|
final JScrollPane scrollPane1 = new JScrollPane();
|
|
panel1.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,
|
|
null, null, 0, false));
|
|
scrollPane1.setViewportView(ingresosTable);
|
|
final JPanel panel2 = new JPanel();
|
|
panel2.setLayout(new GridLayoutManager(3, 6, new Insets(0, 0, 0, 0), -1, -1));
|
|
panel1.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,
|
|
new Dimension(150, -1), null, 0, false));
|
|
final JLabel label1 = new JLabel();
|
|
label1.setText("Tipo");
|
|
panel2.add(label1,
|
|
new GridConstraints(0, 5, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
final DefaultComboBoxModel defaultComboBoxModel1 = new DefaultComboBoxModel();
|
|
tipoCombo.setModel(defaultComboBoxModel1);
|
|
panel2.add(tipoCombo, new GridConstraints(1, 5, 1, 1, GridConstraints.ANCHOR_WEST,
|
|
GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
|
final JLabel label2 = new JLabel();
|
|
label2.setText("Valor");
|
|
panel2.add(label2,
|
|
new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
valorField = new NumberFormatedTextField();
|
|
panel2.add(valorField, new GridConstraints(1, 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 JLabel label3 = new JLabel();
|
|
label3.setText("N° Inicial");
|
|
panel2.add(label3,
|
|
new GridConstraints(0, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
final JLabel label4 = new JLabel();
|
|
label4.setText("N° Final");
|
|
panel2.add(label4,
|
|
new GridConstraints(0, 4, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
nroInicialField = new JTextField();
|
|
panel2.add(nroInicialField, new GridConstraints(1, 3, 1, 1, GridConstraints.ANCHOR_WEST,
|
|
GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
|
nroFinalField = new JTextField();
|
|
panel2.add(nroFinalField, new GridConstraints(1, 4, 1, 1, GridConstraints.ANCHOR_WEST,
|
|
GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
|
errorTipoIngreso = new JLabel();
|
|
errorTipoIngreso.setForeground(new Color(-65536));
|
|
errorTipoIngreso.setText("Label");
|
|
errorTipoIngreso.setVisible(false);
|
|
panel2.add(errorTipoIngreso,
|
|
new GridConstraints(2, 5, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
errorNroInicial = new JLabel();
|
|
errorNroInicial.setForeground(new Color(-65536));
|
|
errorNroInicial.setText("Label");
|
|
errorNroInicial.setVisible(false);
|
|
panel2.add(errorNroInicial,
|
|
new GridConstraints(2, 3, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
errorNroFinal = new JLabel();
|
|
errorNroFinal.setForeground(new Color(-65536));
|
|
errorNroFinal.setText("Label");
|
|
errorNroFinal.setVisible(false);
|
|
panel2.add(errorNroFinal,
|
|
new GridConstraints(2, 4, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
final JLabel label5 = new JLabel();
|
|
label5.setText("N° Z Inicial");
|
|
panel2.add(label5,
|
|
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 label6 = new JLabel();
|
|
label6.setText("N° Z Final");
|
|
panel2.add(label6,
|
|
new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
nroZInicialField = new JTextField();
|
|
panel2.add(nroZInicialField, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST,
|
|
GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
|
nroZFinalField = new JTextField();
|
|
panel2.add(nroZFinalField, new GridConstraints(1, 2, 1, 1, GridConstraints.ANCHOR_WEST,
|
|
GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
|
errorNroZInicial = new JLabel();
|
|
errorNroZInicial.setForeground(new Color(-65536));
|
|
errorNroZInicial.setText("Label");
|
|
errorNroZInicial.setVisible(false);
|
|
panel2.add(errorNroZInicial,
|
|
new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
errorNroZFinal = new JLabel();
|
|
errorNroZFinal.setForeground(new Color(-65536));
|
|
errorNroZFinal.setText("Label");
|
|
errorNroZFinal.setVisible(false);
|
|
panel2.add(errorNroZFinal,
|
|
new GridConstraints(2, 2, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
final JPanel panel3 = new JPanel();
|
|
panel3.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1));
|
|
panel1.add(panel3,
|
|
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));
|
|
final JPanel panel4 = new JPanel();
|
|
panel4.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
|
|
panel3.add(panel4,
|
|
new GridConstraints(0, 2, 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));
|
|
final JLabel label7 = new JLabel();
|
|
label7.setText("Total Ingresos");
|
|
panel4.add(label7,
|
|
new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0,
|
|
false));
|
|
totalIngresoField = new NumberFormatedTextField();
|
|
totalIngresoField.setEditable(false);
|
|
panel4.add(totalIngresoField, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
|
|
GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW,
|
|
GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
|
|
final JPanel panel5 = new JPanel();
|
|
panel5.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1));
|
|
panel3.add(panel5,
|
|
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));
|
|
guardarButton = new JButton();
|
|
guardarButton.setText("Añadir");
|
|
guardarButton.setMnemonic('A');
|
|
guardarButton.setDisplayedMnemonicIndex(0);
|
|
panel5.add(guardarButton, new GridConstraints(0, 0, 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));
|
|
eliminarButton = new JButton();
|
|
eliminarButton.setText("Eliminar");
|
|
panel5.add(eliminarButton, 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));
|
|
editarButton = new JButton();
|
|
editarButton.setText("Editar");
|
|
panel5.add(editarButton, new GridConstraints(0, 2, 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));
|
|
final Spacer spacer1 = new Spacer();
|
|
panel3.add(spacer1,
|
|
new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
|
|
GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false));
|
|
}
|
|
|
|
/**
|
|
* @noinspection ALL
|
|
*/
|
|
public JComponent $$$getRootComponent$$$() {
|
|
return contentPanel;
|
|
}
|
|
|
|
}
|