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, ademas realiza todas las operaciones, tanto la creacion de las figuras como las operaciones sobre ellas.
 
Method Summary
 void add()
          Funcion que agrega una nueva figura al arreglo de largo variable, seg?n sea la opcion seleccionada anteriormente.
 void clearShapes()
          Funcion que limpia la zona de dibujo, borra todos los elementos del arreglo de figuras y actualiza la zona de dibujo con ning?n elemento.
 void paintComponent(java.awt.Graphics g)
          Funcion que es invocada por la maquina virtual cuando se realiza una peticion de repintado (repaint()), invoca a la funcion paintComponent de la clase superior.
 
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, ademas realiza todas las operaciones, tanto la creacion de las figuras como las operaciones sobre ellas.

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

paintComponent

public void paintComponent(java.awt.Graphics g)
Funcion que es invocada por la maquina virtual cuando se realiza una peticion de repintado (repaint()), invoca a la funcion paintComponent de la clase superior. Esta misma funcion realiza la rotacion, escalamiento, o traslacion del dibujo completo en caso de ser solicitado (click en el respectivo boton) sin embargo, estos 3 cambios son solo temporales hasta que no se inserte una nueva figura, pues los cambios se hacen sobre el objeto grafico g2 y no sobre el arreglo de las figuras, por la imposibilidad de guardar figuras rotadas.

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

add

public void add()
Funcion que agrega una nueva figura al arreglo de largo variable, seg?n sea la opcion seleccionada anteriormente. La funcion 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 boton presionado se va variando el segundo punto. Las formas creadas son Rectangle2D.Double para Rectangulos, 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()
Funcion que limpia la zona de dibujo, borra todos los elementos del arreglo de figuras y actualiza la zona de dibujo con ning?n elemento. Este m?todo es invocado al presionar el boton limpiar, y es llamado desde el otro archivo. (por la clase EditorFrame), tambien limpia el contador.