net.aerith.misao.gui
Class ImageComponent

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JLabel
                          |
                          +--net.aerith.misao.gui.ImageComponent
Direct Known Subclasses:
BlinkMonoImageComponent, MonoImageComponent, RGBCompositeImageComponent

public class ImageComponent
extends javax.swing.JLabel

The ImageComponent represents a GUI component to show an image with zoom function.

See Also:
Serialized Form

Inner Class Summary
protected  class ImageComponent.ZoomInListener
          The ZoomInListener is a listener class of menu selection for zoom in.
protected  class ImageComponent.ZoomOutListener
          The ZoomOutListener is a listener class of menu selection for zoom in.
 
Inner classes inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
protected  java.awt.Dimension dimension
          The preferred size, considering the zoom level.
protected  java.awt.Image image
          The java.awt.Image to view.
protected  ImageContent image_content
          The content image to view.
protected  Position markup_position
          The position on the image to mark up.
protected  java.awt.Container pane
          The pane of this component.
protected  javax.swing.JPopupMenu popup
          The popup menu.
protected  int zoom_level
          The number of zoom level.
 
Fields inherited from class javax.swing.JLabel
defaultIcon, disabledIcon, disabledIconSet, horizontalAlignment, horizontalTextPosition, iconTextGap, LABELED_BY_PROPERTY, labelFor, mnemonic, text, uiClassID, verticalAlignment, verticalTextPosition
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
ImageComponent()
          Constructs an empty ImageComponent.
ImageComponent(ImageContent initial_content)
          Constructs a ImageComponent with an image.
 
Method Summary
 void clearMark()
          Clear the mark.
 Position convertToImagePosition(java.awt.Point screen_point)
          Converts a point on the screen to the position on the original image.
 java.awt.Point convertToScreenPoint(Position image_position)
          Converts a position on the original image to the point on the screen.
 javax.swing.JMenuItem[] createSaveMenus()
          Returns an array of JMenuItem which consists of save menus.
 javax.swing.JMenuItem[] createZoomMenus()
          Returns an array of JMenuItem which consists of zoom menus.
protected  void finalize()
          Finalizes this object.
 ImageContent getImageContent()
          Gets the image content.
 java.awt.Dimension getPreferredSize()
          Gets the preferred size, considering the zoom level.
protected  void initPopupMenu()
          Initializes a popup menu.
 void markUp(Position position)
          Marks up at the specified position.
 void markUpCenter()
          Marks up at the center.
 void paint(java.awt.Graphics g)
          Updates the view.
protected  void processMouseEvent(java.awt.event.MouseEvent e)
          Invoked when mouse event occurs.
 void replaceImage(ImageContent new_image)
          Replaces the image content.
 void update(java.awt.Graphics g)
          Updates the view.
 void zoomIn()
          Zooms in.
 void zoomOut()
          Zooms out.
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, , addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, checkIfChildObscuredBySibling, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setCursor, setFocusOwner, setLayout, transferFocus, updateCursor, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getIntrinsicCursor, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

image_content

protected ImageContent image_content
The content image to view.

image

protected java.awt.Image image
The java.awt.Image to view.

popup

protected javax.swing.JPopupMenu popup
The popup menu.

pane

protected java.awt.Container pane
The pane of this component.

dimension

protected java.awt.Dimension dimension
The preferred size, considering the zoom level.

markup_position

protected Position markup_position
The position on the image to mark up. If not to mark up, it must be null.

zoom_level

protected int zoom_level
The number of zoom level. It is 0 when the size is normal. The number 1 means magnified twice, 2 means third and 3 means fourth. The number -1 means reduced twice, -2 means third and -3 means fourth.
Constructor Detail

ImageComponent

public ImageComponent()
Constructs an empty ImageComponent.

ImageComponent

public ImageComponent(ImageContent initial_content)
Constructs a ImageComponent with an image.
Parameters:
initial_content - the image content to view.
Method Detail

getPreferredSize

public java.awt.Dimension getPreferredSize()
Gets the preferred size, considering the zoom level.
Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
the preferred size.

zoomIn

public void zoomIn()
Zooms in.

zoomOut

public void zoomOut()
Zooms out.

markUp

public void markUp(Position position)
Marks up at the specified position.
Parameters:
position - the position on the image to mark up.

markUpCenter

public void markUpCenter()
Marks up at the center.

clearMark

public void clearMark()
Clear the mark.

convertToImagePosition

public Position convertToImagePosition(java.awt.Point screen_point)
Converts a point on the screen to the position on the original image.
Parameters:
screen_point - the point on the screen.
Returns:
the position on the original image.

convertToScreenPoint

public java.awt.Point convertToScreenPoint(Position image_position)
Converts a position on the original image to the point on the screen.
Parameters:
image_position - the position on the original image.
Returns:
the point on the screen.

initPopupMenu

protected void initPopupMenu()
Initializes a popup menu. A popup must be created previously.

createSaveMenus

public javax.swing.JMenuItem[] createSaveMenus()
Returns an array of JMenuItem which consists of save menus. Items are newly created when invoked.
Returns:
an array of menu items.

createZoomMenus

public javax.swing.JMenuItem[] createZoomMenus()
Returns an array of JMenuItem which consists of zoom menus. Items are newly created when invoked.
Returns:
an array of menu items.

getImageContent

public ImageContent getImageContent()
Gets the image content.
Returns:
the image content.

replaceImage

public void replaceImage(ImageContent new_image)
Replaces the image content.
Parameters:
new_image - the new image.

finalize

protected void finalize()
                 throws java.lang.Throwable
Finalizes this object.
Overrides:
finalize in class java.lang.Object

paint

public void paint(java.awt.Graphics g)
Updates the view.
Overrides:
paint in class javax.swing.JComponent
Parameters:
g - the Graphics to update.

update

public void update(java.awt.Graphics g)
Updates the view.
Overrides:
update in class javax.swing.JComponent
Parameters:
g - the Graphics to update.

processMouseEvent

protected void processMouseEvent(java.awt.event.MouseEvent e)
Invoked when mouse event occurs. It is to show a popup menu.
Overrides:
processMouseEvent in class java.awt.Component
Parameters:
e - contains the click position.