Class FigPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byFigPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class FigPanel
extends javax.swing.JPanel

La clase FigPanel corresponde a la zona de dibujo, donde se ubican las figuras y se realizan las operaciones sobre estas mismas.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FigPanel(javax.swing.JButton rectButton, javax.swing.JButton elipButton, javax.swing.JButton linButton, javax.swing.JButton rotButton, javax.swing.JButton escButton, javax.swing.JButton trasButton)
          Constructor de la clase FigPanel, define los ActionListener para los botones de Figuras y de Operaciones, adem?s realiza todas las operaciones, tanto la creaci?n de las figuras como las operaciones sobre ellas.
 
Method Summary
 void add()
          M?todo que agrega una nueva figura al arreglo de largo variable, seg?n sea la opci?n seleccionada anteriormente.
 void clearShapes()
          M?todo que limpia la zona de dibujo, borra todos los elementos del arreglo de todo y actualiza la zona de dibujo con ning?n elemento.
 void paintComponent(java.awt.Graphics g)
          M?todo que es invocada por la m?quina virtual cuando se realiza una petici?n de repintado (repaint()), invoca al m?todo paintComponent de la clase superior.
 void read(java.lang.String name)
          M?todo que lee las figuras desde el archivo ".eda".
 void save(java.lang.String name)
          M?todo que guarda las figuras en los archivos
 void setShapes()
          M?todo que rescata las figuras desde el archivo ".eda", las copia al arreglo de Shapes y las dibuja.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FigPanel

public FigPanel(javax.swing.JButton rectButton,
                javax.swing.JButton elipButton,
                javax.swing.JButton linButton,
                javax.swing.JButton rotButton,
                javax.swing.JButton escButton,
                javax.swing.JButton trasButton)
Constructor de la clase FigPanel, define los ActionListener para los botones de Figuras y de Operaciones, adem?s realiza todas las operaciones, tanto la creaci?n de las figuras como las operaciones sobre ellas.

Parameters:
rectButton - Boton que indica que la proxima acci?n es dibujar Rect?ngulos
elipButton - Boton que indica que la proxima acci?n es dibujar El?pses
linButton - Boton que indica que la proxima acci?n es dibujar L?neas
rotButton - Boton que indica que la proxima acci?n es Rotar el dibujo
escButton - Boton que indica que la proxima acci?n es Escalar el dibujo
trasButton - Boton que indica que la proxima acci?n es Trasladar el dibujo
Method Detail

paintComponent

public void paintComponent(java.awt.Graphics g)
M?todo que es invocada por la m?quina virtual cuando se realiza una petici?n de repintado (repaint()), invoca al m?todo paintComponent de la clase superior. Este mismo m?todo realiza la rotaci?n, escalamiento, o traslaci?n del dibujo completo en caso de ser solicitado (click en el respectivo bot?n) sin embargo, estos 3 cambios son solo temporales hasta que no se inserte una nueva figura, pues los cambios se hacen sobre el objeto gr?fico g2 y no sobre el arreglo de las figuras, por la imposibilidad de guardar figuras rotadas.

Parameters:
g - Objeto entregado por la m?quina virtual que permite dibujar las figuras previo casteo a un objeto de tipo Graphics2D

add

public void add()
M?todo que agrega una nueva figura al arreglo de largo variable, seg?n sea la opci?n seleccionada anteriormente. El M?todo trabaja sobre 2 puntos, al realizar el primer click se definen estos 2 puntos al mismo tiempo, y a medida que se mueve el mouse con el bot?n presionado se va variando el segundo punto. Las formas creadas son Rectangle2D.Double para Rect?ngulos, Ellipse2D.Double para las El?pses, y Line2D.Double para las l?neas, estas 3 clases heredan de la Interfase Shape, por lo que se puede usar un objeto de este tipo para trabajar con los 3 tipos de figura.


clearShapes

public void clearShapes()
M?todo que limpia la zona de dibujo, borra todos los elementos del arreglo de todo y actualiza la zona de dibujo con ning?n elemento. Este m?todo es invocado al presionar el bot?n limpiar, y es llamado desde el otro archivo por la clase EditorFrame,tambien limpia el contador


setShapes

public void setShapes()
M?todo que rescata las figuras desde el archivo ".eda", las copia al arreglo de Shapes y las dibuja.


save

public void save(java.lang.String name)
          throws java.io.IOException
M?todo que guarda las figuras en los archivos

Parameters:
name - nombre de archivo donde se guardar?n las figuras
Throws:
java.io.IOException - Si orcurre un error de Entrada/Salida al escribir al archivo

read

public void read(java.lang.String name)
          throws java.io.IOException,
                 java.lang.ClassNotFoundException
M?todo que lee las figuras desde el archivo ".eda".

Parameters:
name - nombre de archivo donde se guardar?n las figuras
Throws:
java.io.IOException - Si orcurre un error de Entrada/Salida al escribir al archivo
java.lang.ClassNotFoundException - si se encuentra un objeto de una clase no serializable