Package org.sfaci.holadb4o.gui

Source Code of org.sfaci.holadb4o.gui.HolaDb4o

package org.sfaci.holadb4o.gui;

import static org.sfaci.holadb4o.util.Constantes.CENTRO_COMERCIAL;
import static org.sfaci.holadb4o.util.Constantes.TIENDA;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import org.sfaci.holadb4o.base.Tienda;
import org.sfaci.holadb4o.util.Constantes;
import org.sfaci.holadb4o.util.Util;
import org.sfaci.holadb4o.util.Util.Accion;

import com.db4o.Db4oEmbedded;

/**
* Ejemplo que pruebas las principales caracter�sticas de db4o
* @author Santiago Faci
* @version 1.0
*
*/
public class HolaDb4o {

  private JFrame frmHolaDbo;
  private JLabel lbEstado;
  private JMenuBar menuBar;
  private JToolBar toolBar;
  private JTabbedPane tab;
  private JPanel panelTiendas;
  private JPanel panelCentros;
  private JMenu mnPrograma;
  private JMenu mnHerramientas;
  private JMenu mnAyuda;
  private JButton btAlta;
  private JButton btModificar;
  private JButton btEliminar;
 
  private JScrollPane scrollPane;
  private JScrollPane scrollPane_1;
  private JTablaTiendas tablaTiendas;
  private JTable tablaCentros;
  private JButton tfBuscar;
  private JTextField tfFiltro;
  private JComboBox<String> cbCampos;

  /**
   * Launch the application.
   */
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          HolaDb4o window = new HolaDb4o();
          window.frmHolaDbo.setVisible(true);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }

  /**
   * Create the application.
   */
  public HolaDb4o() {
   
    initialize();
    inicializar();
  }
 
  /**
   * Inicializa la aplicaci�n
   */
  private void inicializar() {
   
    conectar();
    tablaTiendas.listar();
  }
 
  /**
   * Conecta con la Base de Datos
   */
  private void conectar() {
   
    // Conecta con la Base de Datos (si el fichero no existe lo crear�)
    Util.db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), Constantes.DATABASE_FILENAME);
  }
 
  /**
   * Cierra la aplicaci�n
   */
  private void cerrar() {
   
    Util.db.close();
    System.exit(0);
  }
 
  /**
   * TODO Da de alta Tiendas o Centros Comerciales
   */
  private void darDeAlta() {
   
    switch (tab.getSelectedIndex()) {
    case TIENDA:
      JTienda jTienda = new JTienda();
      if (jTienda.mostrarDialogo() == Accion.CANCELAR)
        return;
     
      Tienda tienda = jTienda.getTienda();
      Util.db.store(tienda);
      Util.db.commit();
     
      tablaTiendas.listar();
    case CENTRO_COMERCIAL:
      // TODO
    default:
    }
  }
 
  /**
   * TODO Modifica Tiendas o Centros Comerciales
   */
  private void modificar() {
   
    switch (tab.getSelectedIndex()) {
    case TIENDA:
      JTienda jTienda = new JTienda();
      jTienda.setTienda(tablaTiendas.getTiendaSeleccionada());
      if (jTienda.mostrarDialogo() == Accion.CANCELAR)
        return;
     
      Tienda tienda = jTienda.getTienda();
      Util.db.store(tienda);
      Util.db.commit();
     
      tablaTiendas.listar();
    case CENTRO_COMERCIAL:
      // TODO
    default:
    }
  }
 
  /**
   * TODO Elimina Tiendas o Centros Comercial
   */
  private void eliminar() {
 
    switch (tab.getSelectedIndex()) {
    case TIENDA:
      Tienda tienda = tablaTiendas.getTiendaSeleccionada();
      Util.db.delete(tienda);
      Util.db.commit();
     
      tablaTiendas.listar();
    case CENTRO_COMERCIAL:
      // TODO
    default:
    }
  }
 
  /**
   * TODO Busca en Tiendas o Centros Comerciales
   */
  private void buscar() {
 
    int campo = cbCampos.getSelectedIndex();
    tablaTiendas.listar(tfFiltro.getText(), campo);
  }
 
  /**
   * TODO Cambia de pesta�a. Hay que recargar el combo de campos
   */
  private void cambiarPestana() {
   
    switch (tab.getSelectedIndex()) {
    case TIENDA:
      cbCampos.removeAllItems();
      cbCampos.addItem("<Todos>");
      cbCampos.addItem(Constantes.NOMBRE);
      cbCampos.addItem(Constantes.DESCRIPCION);
      cbCampos.addItem(Constantes.NUMERO_LOCAL);
      cbCampos.addItem(Constantes.FECHA_APERTURA);
      break;
    case CENTRO_COMERCIAL:
      cbCampos.removeAllItems();
      // TODO
      break;
    default:
    }
  }
 
  /**
   * TODO Selecciona alguna tienda de la tabla
   */
  private void seleccionarTiendas() {
  }

  /**
   * Initialize the contents of the frame.
   */
  private void initialize() {
    frmHolaDbo = new JFrame();
    frmHolaDbo.setTitle("Hola db4o");
    frmHolaDbo.addWindowListener(new WindowAdapter() {
      @Override
      public void windowClosing(WindowEvent arg0) {
        cerrar();
      }
    });
    frmHolaDbo.setBounds(100, 100, 450, 300);
    frmHolaDbo.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    frmHolaDbo.getContentPane().add(getTfEstado(), BorderLayout.SOUTH);
    frmHolaDbo.getContentPane().add(getToolBar(), BorderLayout.NORTH);
    frmHolaDbo.getContentPane().add(getTab(), BorderLayout.CENTER);
    frmHolaDbo.setJMenuBar(getMenuBar());
    frmHolaDbo.setLocationRelativeTo(null);
  }

  public JLabel getTfEstado() {
    if (lbEstado == null) {
      lbEstado = new JLabel();
      lbEstado.setText("Grancasas v1.0");
    }
    return lbEstado;
  }
  public JMenuBar getMenuBar() {
    if (menuBar == null) {
      menuBar = new JMenuBar();
      menuBar.add(getMnPrograma());
      menuBar.add(getMnHerramientas());
      menuBar.add(getMnAyuda());
    }
    return menuBar;
  }
  public JToolBar getToolBar() {
    if (toolBar == null) {
      toolBar = new JToolBar();
      toolBar.add(getBtAlta());
      toolBar.add(getBtModificar());
      toolBar.add(getBtEliminar());
      toolBar.add(getTfFiltro());
      toolBar.add(getCbCampos());
      toolBar.add(getTfBuscar());
    }
    return toolBar;
  }
  public JTabbedPane getTab() {
    if (tab == null) {
      tab = new JTabbedPane(JTabbedPane.TOP);
      tab.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent arg0) {
          cambiarPestana();
        }
      });
      tab.addTab("Tiendas", null, getPanelTiendas(), null);
      tab.addTab("Centros Comerciales", null, getPanelCentros(), null);
    }
    return tab;
  }
  public JPanel getPanelTiendas() {
    if (panelTiendas == null) {
      panelTiendas = new JPanel();
      panelTiendas.setLayout(new BorderLayout(0, 0));
      panelTiendas.add(getScrollPane(), BorderLayout.CENTER);
    }
    return panelTiendas;
  }
  public JPanel getPanelCentros() {
    if (panelCentros == null) {
      panelCentros = new JPanel();
      panelCentros.setLayout(new BorderLayout(0, 0));
      panelCentros.add(getScrollPane_1(), BorderLayout.CENTER);
    }
    return panelCentros;
  }
  public JMenu getMnPrograma() {
    if (mnPrograma == null) {
      mnPrograma = new JMenu("Fichero");
    }
    return mnPrograma;
  }
  public JMenu getMnHerramientas() {
    if (mnHerramientas == null) {
      mnHerramientas = new JMenu("Herramientas");
    }
    return mnHerramientas;
  }
  public JMenu getMnAyuda() {
    if (mnAyuda == null) {
      mnAyuda = new JMenu("Ayuda");
    }
    return mnAyuda;
  }
  public JButton getBtAlta() {
    if (btAlta == null) {
      btAlta = new JButton("Alta");
      btAlta.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
          darDeAlta();
        }
      });
    }
    return btAlta;
  }
  public JButton getBtModificar() {
    if (btModificar == null) {
      btModificar = new JButton("Modificar");
      btModificar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          modificar();
        }
      });
    }
    return btModificar;
  }
  public JButton getBtEliminar() {
    if (btEliminar == null) {
      btEliminar = new JButton("Eliminar");
      btEliminar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          eliminar();
        }
      });
    }
    return btEliminar;
  }
  public JScrollPane getScrollPane() {
    if (scrollPane == null) {
      scrollPane = new JScrollPane();
      scrollPane.setViewportView(getTablaTiendas());
    }
    return scrollPane;
  }
  public JScrollPane getScrollPane_1() {
    if (scrollPane_1 == null) {
      scrollPane_1 = new JScrollPane();
      scrollPane_1.setViewportView(getTablaCentros());
    }
    return scrollPane_1;
  }
  public JTable getTablaTiendas() {
    if (tablaTiendas == null) {
      tablaTiendas = new JTablaTiendas();
      tablaTiendas.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
          seleccionarTiendas();
        }
      });
    }
    return tablaTiendas;
  }
  public JTable getTablaCentros() {
    if (tablaCentros == null) {
      tablaCentros = new JTable();
    }
    return tablaCentros;
  }
  public JButton getTfBuscar() {
    if (tfBuscar == null) {
      tfBuscar = new JButton("Buscar");
      tfBuscar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          buscar();
        }
      });
    }
    return tfBuscar;
  }
  public JTextField getTfFiltro() {
    if (tfFiltro == null) {
      tfFiltro = new JTextField();
      tfFiltro.setColumns(10);
    }
    return tfFiltro;
  }
  public JComboBox<String> getCbCampos() {
    if (cbCampos == null) {
      cbCampos = new JComboBox<String>();
      cbCampos.setPreferredSize(new Dimension(90, 20));
    }
    return cbCampos;
  }
}
TOP

Related Classes of org.sfaci.holadb4o.gui.HolaDb4o

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.