cdox.gui
Class ImageDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended bycdox.gui.ImageDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.util.Observer, javax.swing.RootPaneContainer, java.lang.Runnable, java.io.Serializable, javax.swing.WindowConstants

public class ImageDialog
extends javax.swing.JDialog
implements java.util.Observer, java.awt.event.ActionListener, java.lang.Runnable

A dialog which let the user slide a JSlider to correct a given BufferedImage. The dialog consist of two ImagePreview panes (the original and the preview), an indicator that lets the user know the filtering is done, a JSlider (or more than one) and two buttons. The user will be able to filter his/her images.

Version:
25 april 2002.
Author:
Rutger Bezema, Andreas Schmitz
See Also:
ImagePreview, StatusDrawer, CorrectorSlider, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
static int BLUR
          This constant represents the BLUR edit-image-menu-item in the popup-menu.
static int BRIGHTNESS_CONTRAST_GAMMA
          This constant represents the BRIGHTNESS_CONTRAST_GAMMA edit-image-menu-item in the popup-menu.
static int SHARPEN
          This constant represents the SHARPEN edit-image-menu-item in the popup-menu.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
  ImageDialog(java.awt.Frame parent, java.awt.image.BufferedImage bi, Cover c, int key)
          Creates a new a new ImageDialog with the BufferedImage and the key representing filters to be available.
protected ImageDialog(java.awt.Frame parent, java.awt.image.BufferedImage bi, int key)
          Creates a new a new ImageDialog with the BufferedImage and the key representing filters to be available.
  ImageDialog(java.awt.Frame parent, ImageElement e, int key)
          Creates a new a new ImageDialog with the ImageElement and the key representing the filters to be available.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Is called when either one of the buttons is pressed.
 void run()
          This run Method does all the filtering of an image.
 void update(java.util.Observable obs, java.lang.Object arg)
          Is called when a imageCorrection slider has been moved.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BRIGHTNESS_CONTRAST_GAMMA

public static final int BRIGHTNESS_CONTRAST_GAMMA
This constant represents the BRIGHTNESS_CONTRAST_GAMMA edit-image-menu-item in the popup-menu.

See Also:
Constant Field Values

SHARPEN

public static final int SHARPEN
This constant represents the SHARPEN edit-image-menu-item in the popup-menu.

See Also:
Constant Field Values

BLUR

public static final int BLUR
This constant represents the BLUR edit-image-menu-item in the popup-menu.

See Also:
Constant Field Values
Constructor Detail

ImageDialog

protected ImageDialog(java.awt.Frame parent,
                      java.awt.image.BufferedImage bi,
                      int key)
Creates a new a new ImageDialog with the BufferedImage and the key representing filters to be available. Depending on the key the dialog will have one or three sliders to be used. This method should not be called. Instead call one of the other Constructors.

Parameters:
parent - the Frame which is the parent of this dialog
bi - the bufferedImage to be filtered
key - the key representing the filters which are available

ImageDialog

public ImageDialog(java.awt.Frame parent,
                   java.awt.image.BufferedImage bi,
                   Cover c,
                   int key)
Creates a new a new ImageDialog with the BufferedImage and the key representing filters to be available. Depending on the key the dialog will have one or three sliders to be used. This constructor is called when a backgroundImage must be filtered.

Parameters:
parent - the Frame which is the parent of this dialog
bi - the bufferedImage to be filtered
c - The cover which contains the backgroundImage to be filtered.
key - the key representing the filters which are available
See Also:
Cover

ImageDialog

public ImageDialog(java.awt.Frame parent,
                   ImageElement e,
                   int key)
Creates a new a new ImageDialog with the ImageElement and the key representing the filters to be available. Depending on the key the dialog will have one or three sliders to be used. This constructor is called when an ImageElement must be filtered.

Parameters:
parent - the Frame which is the parent of this dialog
e - the ImageElement to work on.
key - the key representing the filters which are available
See Also:
ImageElement
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Is called when either one of the buttons is pressed. If the OK-Button is pressed a new Thread is started adding all the filters to the original Image.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the event representing a buttonclick.
See Also:
run()

update

public void update(java.util.Observable obs,
                   java.lang.Object arg)
Is called when a imageCorrection slider has been moved. It sets the preview. All used filters are stored in an ArrayList, and are applied to the preview one at a time.

Specified by:
update in interface java.util.Observer
Parameters:
obs - the ImageCorrection class which's slider has been moved.
arg - the Filter to use.

run

public void run()
This run Method does all the filtering of an image. It needs to be done in a seperate thread, because the application will seem to hang if not. And if the ok-button is pressed the dialog seems to stay.

Specified by:
run in interface java.lang.Runnable
See Also:
update(java.util.Observable, java.lang.Object), actionPerformed(java.awt.event.ActionEvent)