Package vista

Source Code of vista.GestionPresupuesto

package vista;

import java.awt.Color;
import java.awt.Font;
import java.awt.Rectangle;
import java.util.LinkedList;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.SwingConstants;
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.Cliente;
import base.Presupuesto;

import javax.swing.BorderFactory;
import javax.swing.border.SoftBevelBorder;

import controllers.ControllerFactory;
import controllers.HalconController;
import renderer.RendererCliente;
import editor.EditorCliente;
import editor.EditorPresupuesto;


public class GestionPresupuesto<M, I> extends PanelGeneral {

  private TableRowSorter<TableModel> modeloOrdenado;
  private static final long serialVersionUID = 1L;
  private HalconController halconController = ControllerFactory.GetHalconController()//  @jve:decl-index=0:

  public Tabla tabla = new Tabla(6, 8, 10);// columnas editablas
  public DefaultTableModel dtm = (DefaultTableModel) tabla.getModel();
  JScrollPane scrollPane = new JScrollPane(tabla);
  String[] registro = new String[8];
  private JPanel panelFiltro;
  private JPanel panelTabla;
  static JDialog dialog = new JDialog();
  Presupuesto presupuesto= new Presupuesto()//  @jve:decl-index=0:

  private JLabel etiquetaNombreF;
  private JLabel etiquetaApellidoF;
  private JLabel etiquetaDocumentoF;
  private JLabel etiquetaIcono;
  private JTextField textoDocumentoF;
  private JTextField textoApellidoF;
  private JTextField textoNombreF;
  private JButton botonSalir;
  private JButton botonNuevo;
 
  @SuppressWarnings("unchecked")
  static private AbmCliente singletonAbmCliente = null;
  private JLabel etiquetaAdmin = null;
  private JLabel etiquetaBusqueda = null;
 
  /**
   * This is the default constructor
   */
  public GestionPresupuesto() {
    super();
    this.setEnabled(true);
    this.setVisible(true);
    initialize();
   
    inicializarTabla();
    this.getEtiquetaRutaNavegacion().setText(
        "   Inicio/Administraci�n de Clientes");
    this.add(botonSalir, null);
  }

  private void initialize() {
     
    etiquetaBusqueda = new JLabel();
    etiquetaBusqueda.setBounds(new Rectangle(91, 114, 271, 23));
    etiquetaBusqueda.setText("Criterios de busqueda");
    etiquetaBusqueda.setFont(new Font("Tahoma",Font.BOLD,13));
    etiquetaAdmin = new JLabel();
    etiquetaAdmin.setBounds(new Rectangle(90, 7, 298, 32));
    etiquetaAdmin.setText("Administraci�n de presupuesto");
    etiquetaAdmin.setFont(new Font("Tahoma",Font.BOLD,16));
    JSeparator separador= new JSeparator(SwingConstants.HORIZONTAL);
    separador.setBounds(new Rectangle(90, 50, 950, 5));
    this.add(separador);
    JSeparator separador2= new JSeparator(SwingConstants.HORIZONTAL);
    separador2.setBounds(new Rectangle(90, 100, 950, 5));
    this.add(separador2);
    etiquetaNombreF = new JLabel();
    etiquetaNombreF.setText("Numero:");
    etiquetaNombreF.setBounds(new Rectangle(90, 150, 100, 20));
    textoNombreF = new JTextField();
    textoNombreF.setBounds(new Rectangle(220, 150, 140, 20));

    etiquetaApellidoF = new JLabel();
    etiquetaApellidoF.setBounds(new Rectangle(90, 180, 100, 20));
    etiquetaApellidoF.setText("Nombre persona:");
    textoApellidoF = new JTextField();
    textoApellidoF.setBounds(new Rectangle(220, 180, 140, 20));

    etiquetaDocumentoF = new JLabel();
    etiquetaDocumentoF.setBounds(new Rectangle(90, 210, 100, 20));
    etiquetaDocumentoF.setText("Apellido persona:");
    textoDocumentoF = new JTextField();
    textoDocumentoF.setBounds(new Rectangle(220, 210, 140, 20));

    this.add(etiquetaNombreF, null);
    this.add(etiquetaApellidoF, null);
    this.add(etiquetaDocumentoF, null);
    this.add(textoNombreF, null);
    this.add(textoApellidoF, null);
    this.add(textoDocumentoF, null);
   
    this.add(getJPanelTabla(), null);
    this.add(getBotonNuevo(), null);
   
    this.add(getBotonSalir(), null);
    this.add(etiquetaAdmin, null);
    this.add(etiquetaBusqueda, null);
   
  }
 
  @SuppressWarnings("unchecked")
  static public AbmCliente getSingletonAbmCliente() {

    if (singletonAbmCliente == null) {
      singletonAbmCliente = new AbmCliente();
    } else {
      singletonAbmCliente.limpiar(singletonAbmCliente);
      singletonAbmCliente.cargarTabla();
    }
    return singletonAbmCliente;
  }

  public void termino() {
    this.removeAll();
    inicializarPanel();
    this.add(getPanelRutaNavegacion());
    this.add(botonSalir, null);
    this.repaint();
    cargarTabla();
  }

  public void inicializarTabla() {

    dtm.addColumn("N�mero");
    dtm.addColumn("Nombre/s");
    dtm.addColumn("Apellido/s");
    dtm.addColumn("Documento");
    dtm.addColumn("Telefono");
    dtm.addColumn("Direccion");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
    dtm.addColumn("");
   
    TableColumn columna;
    columna = tabla.getColumnModel().getColumn(0);
    columna.setMinWidth(40);
    columna.setPreferredWidth(60);
    columna.setMaxWidth(80);
   
    columna = tabla.getColumnModel().getColumn(1);
    columna.setPreferredWidth(5);
   
    columna = tabla.getColumnModel().getColumn(2);
    columna.setPreferredWidth(10);
   
    columna = tabla.getColumnModel().getColumn(3);
    columna.setPreferredWidth(10);
   
    columna = tabla.getColumnModel().getColumn(4);
    columna.setPreferredWidth(10);
   
    columna = tabla.getColumnModel().getColumn(6);
    columna.setCellEditor(new EditorPresupuesto(this,6,8));
    columna.setCellRenderer(new RendererCliente(true,6,8));
    columna.setMaxWidth(40);
    columna.setMinWidth(40);
   
    columna = tabla.getColumnModel().getColumn(7);
    columna.setMaxWidth(15);
    columna.setPreferredWidth(15);
    columna.setMinWidth(15);
   
    columna = tabla.getColumnModel().getColumn(8);
    columna.setCellEditor(new EditorPresupuesto(this,6,8));
    columna.setCellRenderer(new RendererCliente(true,6,8));
    columna.setMaxWidth(40);
    columna.setMinWidth(40);
       
        columna = tabla.getColumnModel().getColumn(9);
        columna.setMaxWidth(15);
        columna.setPreferredWidth(15);
        columna.setMinWidth(15);
   
    columna = tabla.getColumnModel().getColumn(10);
    columna.setCellEditor(new EditorPresupuesto(this,6,8));
    columna.setCellRenderer(new RendererCliente(true,6,8));
    columna.setMaxWidth(40);
    columna.setMinWidth(40);
   
    columna = tabla.getColumnModel().getColumn(11);
    columna.setMaxWidth(15);
    columna.setPreferredWidth(15);
    columna.setMinWidth(15);
   
    scrollPane.setVisible(true);
        scrollPane.setBounds(new Rectangle(5, 5, 940, 280));
    tabla.setRowHeight(25);
    tabla.setShowVerticalLines(false);
    tabla.setShowHorizontalLines(false);
        tabla.getTableHeader().setReorderingAllowed(false); // no permite q se intercambien las columnas
        tabla.getTableHeader().setBackground(new Color(197,222,231));
        tabla.getTableHeader().setFont(new Font("Tahoma",Font.BOLD,12));
        tabla.setBackground(new Color(212,226,222));
    tabla.setCellSelectionEnabled(false);
    tabla.setRowMargin(5);
    tabla.setRowSelectionAllowed(true); // realiza la seleccion de toda la fila
   
    modeloOrdenado = new TableRowSorter<TableModel>(dtm);
    tabla.setRowSorter(modeloOrdenado);
   
    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(), 3));
    RowFilter filtroAnd = RowFilter
        .andFilter((Iterable<? extends RowFilter<? super M, ? super I>>) lista);
    modeloOrdenado.setRowFilter(filtroAnd);

  }

  public void cargarTabla() {
    dtm.setNumRows(0);
    List<Presupuesto> listaPresupuestos = halconController.GetListaPresupuestos();
   
    for (int i = 0; i < listaPresupuestos.size(); i++) {
      presupuesto = listaPresupuestos.get(i);
      insertarFila(presupuesto);
    }
    modeloOrdenado.setRowFilter(RowFilter.regexFilter(
        textoNombreF.getText(), 1));
  }

  public void insertarFila(Presupuesto presupuesto) {
    registro[0] = presupuesto.getId().toString();
    registro[1] = presupuesto.getApellidoPersona();
    registro[2] = presupuesto.getNombrePersona();
    registro[3] = presupuesto.getPatenteVehiculo();
    registro[4] = "dcd";
    registro[5] = presupuesto.getMarcaVehiculo()+ " " + presupuesto.getTiempoEjecucion()+ " " + presupuesto.getPatenteVehiculo()+ " "+presupuesto.getTipoEstablecimiento();
    dtm.addRow(registro);
  }

 
  private void inicializarPanel() {
   
     

     
   
   
  }

  /**
   * This method initializes panelTabla
   *
   * @return javax.swing.JPanel
   */
  private JPanel getJPanelTabla() {
    if (panelTabla == null) {
      panelTabla = new JPanel();
      panelTabla.setLayout(null);
      panelTabla.setBounds(new Rectangle(90, 240, 950, 290));
      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;
  }

  private JButton getBotonNuevo() {
    if (botonNuevo == null) {
      botonNuevo = new JButton();
      botonNuevo.setText("Registrar nuevo");
      botonNuevo.setFont(new Font("Tahoma",Font.BOLD,10));
      botonNuevo.setBounds(new Rectangle(920, 65, 120, 20));
      //botonNuevo.setIcon(new ImageIcon(getClass().getResource(
      //"/imagenes/nuevo.png")));
      botonNuevo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
          RegistrarPresupuesto a = new RegistrarPresupuesto(GestionPresupuesto.this);
          GestionPresupuesto.this.removeAll();
          GestionPresupuesto.this.add(a);
          GestionPresupuesto.this.repaint();
        }
      });
    }
    return botonNuevo;
  }

  private JButton getBotonSalir() {
    if (botonSalir == null) {
      botonSalir = new JButton();
      botonSalir.setBounds(new Rectangle(920, 549, 120, 20));
      botonSalir.setText("Salir");
      botonSalir.setFont(new Font("Tahoma",Font.BOLD,10));
     
    }
    return botonSalir;
  }
 
 

TOP

Related Classes of vista.GestionPresupuesto

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.