Class PVDatabase

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--PVDatabase
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.MenuContainer, java.io.Serializable

public class PVDatabase
extends java.awt.Frame
implements java.awt.event.ActionListener, java.awt.event.ItemListener

Base de datos de paneles fotovoltaicos comerciales.

See Also:
Serialized Form

Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  Fotorred appletPointer
           
private  java.awt.Panel center
           
private  int choiceControl
           
private  java.awt.MenuItem exitMenu
           
private  java.awt.MenuItem fabricanteMenu
           
private  java.awt.Label findLabel
           
private  java.awt.Choice findPanel
           
private  java.awt.MenuItem infoMenu
           
private  java.awt.TextArea infoPanel
           
private  ModulosPVList listaPaneles
           
private  MenuFrame menus
           
private  java.awt.MenuItem modeloMenu
           
private  java.awt.MenuItem mostrarTodos
           
private  java.awt.Button next
           
private  java.awt.Panel north
           
private  java.awt.MenuItem nuevoMenu
           
private  java.awt.MenuItem potenciaMenu
           
private  java.awt.Button prev
           
private  java.awt.MenuItem selecMenu
           
private  ModuloPV selectedPV
           
private  java.awt.Panel south
           
private  java.lang.String texto
           
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, dbg, focusMgr, inputContext, inputContextLock, OPENED, ownedWindowList, warningString, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PVDatabase(Fotorred mainWin, MenuFrame mainMenu)
          Constructor: no tiene argumentos.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Establece el patrón de búsqueda deseado (modelo, potencias o mostrar todos los paneles de la base de datos).
 void add_panel(java.lang.String[] string_data, float[] float_data, int[] int_data)
          Añade un panel definido por el usuario a la base de datos
 ModuloPV getSelected()
          Proporciona el último panel fotovoltaico seleccionado por el usuario o null si no ha seleccionado ninguno.
private  void init()
          Crea todos los componentes que forman el interfase gráfico y establece el "layout".
 void itemStateChanged(java.awt.event.ItemEvent e)
           
private static void mergeSort(java.lang.String[] src, java.lang.String[] dest, int low, int high)
          Algoritmo recursivo para ordenar un array de Strings.
private static void ordenar(java.lang.String[] a)
          Ordena una colección de Strings alfabéticamente.
private  void ordenarPotencias(float[] pot_values, java.lang.String[] nombres)
          Ordena (de mayor a menor) un array de valores potencias.
 void paint(java.awt.Graphics g)
          Muestra los datos del panel seleccionado.
 void resetDatabase()
          Inicializa la base de datos para poder elegir un nuevo modelo de panel.
private  void selec_salir(boolean selection)
          Selecciona el panel que se esté mostrando en pantalla (el que haya seleccionado el usuario) y oculta la ventana de selección.
 void selecMenu(boolean state)
          Habilita o deshabilita el menú de selección de paneles para operar en modo completo o sólo-consulta.
private static void swap(float[] x, int a, int b)
          Intercambia la posición de dos elementos de un array de floats.
private static void swap(java.lang.String[] x, int a, int b)
          Intercambia la posición de dos elementos de un array de Strings.
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, paramString, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, processWindowEvent, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

listaPaneles

private ModulosPVList listaPaneles

selectedPV

private ModuloPV selectedPV

exitMenu

private java.awt.MenuItem exitMenu

selecMenu

private java.awt.MenuItem selecMenu

mostrarTodos

private java.awt.MenuItem mostrarTodos

fabricanteMenu

private java.awt.MenuItem fabricanteMenu

modeloMenu

private java.awt.MenuItem modeloMenu

potenciaMenu

private java.awt.MenuItem potenciaMenu

nuevoMenu

private java.awt.MenuItem nuevoMenu

infoMenu

private java.awt.MenuItem infoMenu

appletPointer

private Fotorred appletPointer

menus

private MenuFrame menus

findLabel

private java.awt.Label findLabel

findPanel

private java.awt.Choice findPanel

choiceControl

private int choiceControl

north

private java.awt.Panel north

center

private java.awt.Panel center

south

private java.awt.Panel south

prev

private java.awt.Button prev

next

private java.awt.Button next

infoPanel

private java.awt.TextArea infoPanel

texto

private java.lang.String texto
Constructor Detail

PVDatabase

public PVDatabase(Fotorred mainWin,
                  MenuFrame mainMenu)
Constructor: no tiene argumentos.
Method Detail

init

private void init()
Crea todos los componentes que forman el interfase gráfico y establece el "layout".

paint

public void paint(java.awt.Graphics g)
Muestra los datos del panel seleccionado.
Overrides:
paint in class java.awt.Container
Parameters:
g - Entorno gráfico donde mostrar los datos.

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Establece el patrón de búsqueda deseado (modelo, potencias o mostrar todos los paneles de la base de datos). Cuando el usuario selecciona una de estas opciones en la barra de menús, se habilita el modo de búsqueda correspondiente. Este método también se utiliza para mostrar ventanas de ayuda.
Specified by:
actionPerformed in interface java.awt.event.ActionListener

ordenarPotencias

private void ordenarPotencias(float[] pot_values,
                              java.lang.String[] nombres)
Ordena (de mayor a menor) un array de valores potencias.
Parameters:
pot_values - Array de potencias de todos los módulos.
nombres - Descripción de los módulos fotovoltaicos a ordenar.

ordenar

private static void ordenar(java.lang.String[] a)
Ordena una colección de Strings alfabéticamente.
Parameters:
a - Array de Strings a ordenar.

mergeSort

private static void mergeSort(java.lang.String[] src,
                              java.lang.String[] dest,
                              int low,
                              int high)
Algoritmo recursivo para ordenar un array de Strings. Adaptado a partir de código incluido en el JDK1.3 (Sun Microsystems).
Parameters:
src - Array fuente a ordenar.
dest - Array resultado una vez ordenado.
low - Indice del primer elemento del array que se debe ordenar.
high - Indice del último elemento del array que se debe ordenar.

swap

private static void swap(java.lang.String[] x,
                         int a,
                         int b)
Intercambia la posición de dos elementos de un array de Strings.
Parameters:
x - Array de Strings que contiene los elementos a ordenar.
a - Posición (índice) del primer elemento a intercambiar.
b - Posición (índice) del segundo elemento a intercambiar.

swap

private static void swap(float[] x,
                         int a,
                         int b)
Intercambia la posición de dos elementos de un array de floats.
Parameters:
x - Array de floats que contiene los elementos a ordenar.
a - Posición (índice) del primer elemento a intercambiar.
b - Posición (índice) del segundo elemento a intercambiar.

add_panel

public void add_panel(java.lang.String[] string_data,
                      float[] float_data,
                      int[] int_data)
Añade un panel definido por el usuario a la base de datos
Parameters:
string_data - Datos en formato String.
float_data - Datos en formato float.
int_data - Datos en formato int.

selecMenu

public void selecMenu(boolean state)
Habilita o deshabilita el menú de selección de paneles para operar en modo completo o sólo-consulta.
Parameters:
boolean - state true: mostrar menú. false: inhabilitarlo.

selec_salir

private void selec_salir(boolean selection)
Selecciona el panel que se esté mostrando en pantalla (el que haya seleccionado el usuario) y oculta la ventana de selección.
Parameters:
boolean - selection True cuando el usuario ha elegido algún modelo. False si el usuario ha cancelado la operación (se asume que no quiere instalar paneles).

resetDatabase

public void resetDatabase()
Inicializa la base de datos para poder elegir un nuevo modelo de panel.

getSelected

public ModuloPV getSelected()
Proporciona el último panel fotovoltaico seleccionado por el usuario o null si no ha seleccionado ninguno.