Package vista

Source Code of vista.AbmPersonal

package vista;

import java.awt.Color;
import java.awt.Font;
import java.awt.Rectangle;
import java.util.LinkedList;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.RowFilter;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import base.Personal;
import base.PersonalDTO;
import javax.swing.JComboBox;
import javax.swing.BorderFactory;
import javax.swing.border.SoftBevelBorder;
import renderer.RendererPersonal;
import editor.EditorPersonal;

public class AbmPersonal<M, I> extends PanelGeneral {

  private TableRowSorter<TableModel> modeloOrdenado;
  private static final long serialVersionUID = 1L;
  public Tabla table = new Tabla(8,10,12);
  DefaultTableModel dtm = (DefaultTableModel) table.getModel();

  JScrollPane scrollPane = new JScrollPane(table);
  String[] prueba = new String[8];

  private JPanel panelFiltro;
  private JPanel panelTabla;

  private JLabel etiquetaIcono;
  public JComboBox selectorTipoId = null;
  private JTextField textoTipoId;
  private JTextField textoIdFiscal;
  static JDialog dialog = new JDialog();
  Personal p = new Personal();

  private JLabel etiquetaNombreF;
  private JLabel etiquetaApellidoF;
  private JLabel etiquetaDocumentoF;
  private JTextField textoDocumentoF;
  private JTextField textoApellidoF;
  private JTextField textoNombreF;
  private JButton botonSalir;
  @SuppressWarnings("unchecked")
  static private AbmPersonal singletonAbmPersonal = null;
  private JButton botonNuevo;

  /**
   * This is the default constructor
   */
  public AbmPersonal() {
    super();
    initialize();
    inicializarTabla();
    this.getEtiquetaRutaNavegacion().setText("   Inicio - Gesti�n de Personal");
    this.add(botonSalir, null);
  }

  @SuppressWarnings("unchecked")
  static public AbmPersonal Personal() {

    if (singletonAbmPersonal == null) {
      singletonAbmPersonal = new AbmPersonal();
    } else {
      singletonAbmPersonal.limpiar(singletonAbmPersonal);
      singletonAbmPersonal.cargarTabla();
    }
    return singletonAbmPersonal;
  }

  public void termino() {

    this.removeAll();
    this.add(getPanelFiltro(), null);
    this.add(getPanelRutaNavegacion());
    this.add(botonSalir, null);
    this.repaint();
    cargarTabla();
  }

  public void inicializarTabla() {
    dtm.addColumn("N�mero");
    dtm.addColumn("Nombre");
    dtm.addColumn("Apellido");
    dtm.addColumn("Especialidad");
    dtm.addColumn("Documento");
    dtm.addColumn("Tel�fono");
    dtm.addColumn("Direcci�n");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    table.setRowHeight(27);
    table.setShowVerticalLines(false);
    TableColumn columna;
    columna = table.getColumnModel().getColumn(0);
    columna.setMinWidth(40);
    columna.setPreferredWidth(60);
    columna.setMaxWidth(80);
    columna = table.getColumnModel().getColumn(1);
    columna.setPreferredWidth(5);
    columna = table.getColumnModel().getColumn(2);
    columna.setPreferredWidth(10);
    columna = table.getColumnModel().getColumn(3);
    columna.setPreferredWidth(10);
    columna = table.getColumnModel().getColumn(4);
    columna.setPreferredWidth(10);
    TableColumn agregarColumn;
    agregarColumn = table.getColumnModel().getColumn(8);
    agregarColumn.setCellEditor(new EditorPersonal(this,8,10));
    agregarColumn.setCellRenderer(new RendererPersonal(true,8,10));
    agregarColumn.setMaxWidth(40);
    agregarColumn.setMinWidth(40);
   
    TableColumn agregar2Column;
    agregar2Column = table.getColumnModel().getColumn(7);
    agregar2Column.setMaxWidth(10);
    agregar2Column.setMinWidth(10);
   
    TableColumn agregar3Column;
    agregar3Column = table.getColumnModel().getColumn(10);
    agregar3Column.setCellEditor(new EditorPersonal(this,8,10));
    agregar3Column.setCellRenderer(new RendererPersonal(true,8,10));
    agregar3Column.setMaxWidth(40);
    agregar3Column.setMinWidth(40);
    scrollPane.setVisible(true);
        scrollPane.setBounds(new Rectangle(10, 20, 770, 250));
   
        TableColumn agregar4Column;
    agregar4Column = table.getColumnModel().getColumn(9);
    agregar4Column.setMaxWidth(10);
    agregar4Column.setMinWidth(10);
   
    TableColumn agregar5Column;
    agregar5Column = table.getColumnModel().getColumn(12);
    agregar5Column.setCellEditor(new EditorPersonal(this,8,10));
    agregar5Column.setCellRenderer(new RendererPersonal(true,8,10));
    agregar5Column.setMaxWidth(40);
    agregar5Column.setMinWidth(40);
   
    TableColumn agregar6Column;
    agregar6Column = table.getColumnModel().getColumn(11);
    agregar6Column.setMaxWidth(10);
    agregar6Column.setMinWidth(10);       
   
    TableColumn agregar7Column;
    agregar7Column = table.getColumnModel().getColumn(13);
    agregar7Column.setMaxWidth(10);
    agregar7Column.setMinWidth(10)
   
        table.getTableHeader().setReorderingAllowed(false); // no permite q se intercambien las columnas
        table.getTableHeader().setBackground(new Color(197,222,231));
        table.getTableHeader().setFont(new Font("Tahoma",Font.BOLD,12));
        table.setBackground(new Color(212,226,222));
    table.setCellSelectionEnabled(false);
    table.getTableHeader().setReorderingAllowed(false); // no permite q se intercambien las columnas
    table.setRowMargin(4);
   
    table.setShowHorizontalLines(false);
    modeloOrdenado = new TableRowSorter<TableModel>(dtm);
    table.setRowSorter(modeloOrdenado);
    table.setRowSelectionAllowed(true); // realiza la seleccion de toda la
                      // fila

    cargarTabla();

    textoNombreF.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyReleased(java.awt.event.KeyEvent e) {
        filtrarTabla();
      }
    });

    textoApellidoF.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyReleased(java.awt.event.KeyEvent e) {
        filtrarTabla();
      }
    });

    textoDocumentoF.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyReleased(java.awt.event.KeyEvent e) {
        filtrarTabla();
      }
    });

  }

  @SuppressWarnings("unchecked")
  public void filtrarTabla() {
    LinkedList<RowFilter> lista = new LinkedList<RowFilter>();
    lista.add(RowFilter.regexFilter(textoNombreF.getText(), 1));
    lista.add(RowFilter.regexFilter(textoApellidoF.getText(), 2));
    lista.add(RowFilter.regexFilter(textoDocumentoF.getText(), 4));
    RowFilter filtroAnd = RowFilter
        .andFilter((Iterable<? extends RowFilter<? super M, ? super I>>) lista);
    modeloOrdenado.setRowFilter(filtroAnd);

  }

  public void cargarTabla() {
    dtm.setNumRows(0);
    for (int i = 0; i < PersonalDTO.listaPersonal().size(); i++) {
      p = (Personal) PersonalDTO.listaPersonal().get(i);
      insertarFila(p);
    }
    modeloOrdenado.setRowFilter(RowFilter.regexFilter(
        textoNombreF.getText(), 1));

  }

  public void insertarFila(Personal p) {
    prueba[0] = p.getIdPersonal().toString();
    prueba[1] = p.getNombre();
    prueba[2] = p.getApellido();
    prueba[3] = p.getEspecialidad();
    prueba[4] = p.getDocumento();
    prueba[5] = p.getTelefono();
    prueba[6] = p.getCalle()+ " " + p.getNro()+ " " + p.getPiso()+ " "+p.getDto();
    dtm.addRow(prueba);
  }

  /**
   * This method initializes this
   *
   * @return void
   */
  private void initialize() {

    this.setBackground(new Color(209, 217, 237));
    this.add(getPanelFiltro(), null);
    this.add(getBotonSalir(), null);
  }

  /**
   * This method initializes panelFiltro
   *
   * @return javax.swing.JPanel
   */
  private JPanel getPanelFiltro() {
    if (panelFiltro == null) {
      panelFiltro = new JPanel();
      panelFiltro.setLayout(null);
      panelFiltro.setBounds(new Rectangle(30, 30, 800, 500));
      panelFiltro.setBorder(BorderFactory.createTitledBorder(
          new SoftBevelBorder(SoftBevelBorder.RAISED), "Gesti�n de Personal",
          TitledBorder.DEFAULT_JUSTIFICATION,
          TitledBorder.DEFAULT_POSITION, new Font("Tahoma",
              Font.PLAIN, 14), Color.black));
      panelFiltro.setOpaque(false);

      etiquetaNombreF = new JLabel();
      etiquetaNombreF.setText("Nombre/s:");
      etiquetaNombreF.setBounds(new Rectangle(15, 25, 120, 20));
      textoNombreF = new JTextField();
      textoNombreF.setBounds(new Rectangle(150, 25, 140, 20));

      etiquetaApellidoF = new JLabel();
      etiquetaApellidoF.setBounds(new Rectangle(15, 60, 115, 16));
      etiquetaApellidoF.setText("Apellido/s:");
      textoApellidoF = new JTextField();
      textoApellidoF.setBounds(new Rectangle(150, 60, 140, 20));

      etiquetaDocumentoF = new JLabel();
      etiquetaDocumentoF.setBounds(new Rectangle(15, 95, 117, 20));
      etiquetaDocumentoF.setText("N� Documento:");
      textoDocumentoF = new JTextField();
      textoDocumentoF.setBounds(new Rectangle(150, 95, 140, 20));

      etiquetaIcono = new JLabel();
      etiquetaIcono.setBounds(new Rectangle(384, 26, 64, 64));
      etiquetaIcono.setText("");
      etiquetaIcono.setIcon(new ImageIcon(getClass().getResource("/imagenes/buscar.png")));

      panelFiltro.add(etiquetaNombreF, null);
      panelFiltro.add(etiquetaApellidoF, null);
      panelFiltro.add(etiquetaDocumentoF, null);
      panelFiltro.add(textoNombreF, null);
      panelFiltro.add(textoApellidoF, null);
      panelFiltro.add(textoDocumentoF, null);
      panelFiltro.add(etiquetaIcono, null);
      panelFiltro.add(getJPanelTabla(), null);
      panelFiltro.add(getBotonNuevo(), null);
    }
    return panelFiltro;
  }

  /**
   * This method initializes panelTabla
   *
   * @return javax.swing.JPanel
   */
  private JPanel getJPanelTabla() {
    if (panelTabla == null) {
      panelTabla = new JPanel();
      panelTabla.setLayout(null);
      panelTabla.setBounds(new Rectangle(5, 146, 790, 287));
      panelTabla.add(scrollPane);
      panelTabla.setBorder(new TitledBorder(new LineBorder(Color.BLACK),
          "", 0, 0, new Font("TimesRoman", Font.BOLD, 18),
          Color.BLACK));
      panelTabla.setOpaque(true);
      panelTabla.setBackground(Color.lightGray);
    }
    return panelTabla;
  }

  /**
   * This method initializes botonNuevo 
   *  
   * @return javax.swing.JButton 
   */
  private JButton getBotonNuevo() {
    if (botonNuevo == null) {
      botonNuevo = new JButton();
      botonNuevo.setText("Nuevo");
      botonNuevo.setBounds(new Rectangle(665, 31, 101, 34));
      botonNuevo.setIcon(new ImageIcon(getClass().getResource(
      "/imagenes/nuevo.png")));
      botonNuevo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
          AltaPersonal a = new AltaPersonal(AbmPersonal.this);
          AbmPersonal.this.removeAll();
          AbmPersonal.this.add(a);
          AbmPersonal.this.repaint();
        }
      });
 

    }
    return botonNuevo;
  }

  /**
   * This method initializes botonSalir 
   *  
   * @return javax.swing.JButton 
   */
  private JButton getBotonSalir() {
    if (botonSalir == null) {
      botonSalir = new JButton();
      botonSalir.setBounds(new Rectangle(712, 549, 117, 21));
      botonSalir.setText("Salir");
    }
    return botonSalir;
  }

}
TOP

Related Classes of vista.AbmPersonal

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.