|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--java.awt.Panel | +--ach.CatalogPanel
CatalogPanel.java
Copyright (C) 2001-2005 H. Hackbarth, All Rights Reserved
Panel to display a given list of images as thumbnails with optional information.
Thumbnails can be selected (also multiple selections) by clicking
or Ctrl-A (selects all). A double click schedules an event of type
KEY_PRESS with "Enter"-Key to it's parent component. Selected images can then
be retrieved through method getSelected().
Loading of thumbnail images is carried out asynchronously. When loading is
finished, the component schedules an event with ID 99993 to it's parent
component. The updated image list (String array) is handed over as event arg.
This component drills also down into multipage images if in the constructor
the asynchronous flag is set to false. Multipage images will be suffixed with
the page number in brackets ('[' and ']').
If a thumbnail directory is specified, rendered thumbnails are stored and
will be read the next time for faster display from that directory.
For examples how to use this class please refer to ImagePanel.java.
replacements.
THE AUTHOR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY
OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. THE AUTHOR SHALL NOT BE LIABLE FOR ANY
DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
Inner classes inherited from class java.awt.Panel |
java.awt.Panel.AccessibleAWTPanel |
Inner classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
Inner classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent |
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 | |
CatalogPanel(boolean addDescriptions,
java.lang.String thumbnailSubdir,
boolean asynchronous)
Constructor for catalog panel containing images as thumbnails. |
Method Summary | |
java.awt.Component |
add(java.awt.Component c)
Add any kind of component to the catalog |
void |
addImage(java.lang.String name,
java.awt.Dimension bounds,
int scaleHint)
Add an image to the catalog panel. |
void |
addImageList(java.lang.String[] nameList,
java.awt.Dimension bounds,
int scaleHint)
Adds a list of images (filenames or URLs) to the catalog |
void |
clearCatalog()
clear all thumbnails from catalog |
void |
componentHidden(java.awt.event.ComponentEvent e)
event handler for component events |
void |
componentMoved(java.awt.event.ComponentEvent e)
event handler for component events |
void |
componentResized(java.awt.event.ComponentEvent e)
event handler for component events |
void |
componentShown(java.awt.event.ComponentEvent e)
event handler for component events |
java.awt.Dimension |
getMinimumSize()
Get minimum size of component |
java.awt.Dimension |
getPreferredSize()
Get preferred size of component |
java.lang.String[] |
getSelected()
Get a list of all currently selected thumbnail images as a string array. |
boolean |
handleEvent(java.awt.Event evt)
Event handler for JDK 1.0 events |
void |
imageProducerUpdate(java.awt.image.ImageProducer imgSrc,
java.lang.String errorMsg,
ImageInfo imgInfo)
As this component implements the ImgProdObserver interface, this is the method which will be called back, when asynchronous loading of an imageproducer through an ImageInfo thread is finished. |
boolean |
imageUpdate(java.awt.Image img,
int flags,
int x,
int y,
int w,
int h)
As this component implements the ImageObserver interface, this is the method which is called back when rendering of an image communicates a new state. |
boolean |
isSelected(java.awt.Component c)
Return selection state of a given component |
void |
keyPressed(java.awt.event.KeyEvent e)
event handler for key events |
void |
keyReleased(java.awt.event.KeyEvent e)
event handler for key events |
void |
keyTyped(java.awt.event.KeyEvent e)
event handler for key events |
java.awt.Dimension |
minimumSize()
Get minimum size of component |
void |
mouseClicked(java.awt.event.MouseEvent e)
event handler for mouse events |
void |
mouseDragged(java.awt.event.MouseEvent e)
event handler for mouse motion events |
void |
mouseEntered(java.awt.event.MouseEvent e)
event handler for mouse events |
void |
mouseExited(java.awt.event.MouseEvent e)
event handler for mouse events |
void |
mouseMoved(java.awt.event.MouseEvent e)
event handler for mouse motion events |
void |
mousePressed(java.awt.event.MouseEvent e)
event handler for mouse events |
void |
mouseReleased(java.awt.event.MouseEvent e)
event handler for mouse events |
java.awt.Dimension |
preferredSize()
Get preferred size of component |
void |
removeSelected()
remove selected components from catalog |
void |
resize(java.awt.Dimension d)
resize component to given dimension |
void |
resize(int width,
int height)
resize component to given dimension |
void |
run()
Runs thumbnail rendering as seperate thread (use start() method to run it). |
void |
scheduleParentEvent(java.awt.Event e)
|
void |
setSelected(java.awt.Component c,
boolean state)
Select or deselect a given component |
void |
setSelected(int index,
boolean state)
Select or deselect a given component |
void |
setSelectedAll(boolean state)
Set selection state of all components |
void |
setSelectedRange(int fromIndex,
int toIndex,
boolean state)
Set the selection state of a range of components |
void |
setSize(java.awt.Dimension d)
resize component to given dimension |
void |
setSize(int width,
int height)
resize component to given dimension |
void |
stopLoading()
Stop loading / rendering of further images |
void |
toggleSelected(java.awt.Component c)
Toggle the selection stat of a given component |
void |
toggleSelected(int index)
Toggle the selection stat of a given component |
Methods inherited from class java.awt.Panel |
addNotify, getAccessibleContext |
Methods inherited from class java.awt.Container |
add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getListeners, getMaximumSize, insets, invalidate, isAncestorOf, layout, list, list, locate, paint, paintComponents, paramString, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFont, setLayout, update, validate, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, hasFocus, hide, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setVisible, show, show, size, toString, transferFocus |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public CatalogPanel(boolean addDescriptions, java.lang.String thumbnailSubdir, boolean asynchronous)
addDescriptions
- flag if descriptions should be displayed on thumbnailsthumbnailSubdir
- directory where to store thumbnail images for faster execution next timeasynchronous
- flag if images should be loaded asynchronouslyMethod Detail |
public void resize(java.awt.Dimension d)
resize
in class java.awt.Component
d
- dimension of componentpublic void resize(int width, int height)
resize
in class java.awt.Component
width
- component widthheight
- component heightpublic void setSize(java.awt.Dimension d)
setSize
in class java.awt.Component
d
- dimension of componentpublic void setSize(int width, int height)
setSize
in class java.awt.Component
width
- component widthheight
- component heightpublic java.awt.Dimension getMinimumSize()
getMinimumSize
in class java.awt.Container
public java.awt.Dimension minimumSize()
minimumSize
in class java.awt.Container
public java.awt.Dimension preferredSize()
preferredSize
in class java.awt.Container
public java.awt.Dimension getPreferredSize()
getPreferredSize
in class java.awt.Container
public java.awt.Component add(java.awt.Component c)
add
in class java.awt.Container
c
- component to be addedpublic void imageProducerUpdate(java.awt.image.ImageProducer imgSrc, java.lang.String errorMsg, ImageInfo imgInfo)
imageProducerUpdate
in interface ImgProdObserver
imgSrc
- ImageProducer for the requested imageerrorMsg
- String containing an error message if any error occured during loadingimgInfo
- an ImageInfo instance that carried out the asynchronous loadingpublic boolean imageUpdate(java.awt.Image img, int flags, int x, int y, int w, int h)
imageUpdate
in interface java.awt.image.ImageObserver
imageUpdate
in class java.awt.Component
img
- flags
- x
- y
- w
- h
- public void addImage(java.lang.String name, java.awt.Dimension bounds, int scaleHint)
name
- Filename or URL for the imagebounds
- Dimension of the thumbnail imagesscaleHint
- controls the scaling method (see java.awt.Image, e.g SCALE_FAST, SCALE_SMOOTH etc.)public void addImageList(java.lang.String[] nameList, java.awt.Dimension bounds, int scaleHint)
nameList
- String array containing the image list to be added.bounds
- Dimension of the thumbnail imagesscaleHint
- controls the scaling method (see java.awt.Image, e.g SCALE_FAST, SCALE_SMOOTH etc.)public void run()
run
in interface java.lang.Runnable
public void stopLoading()
public void clearCatalog()
public void scheduleParentEvent(java.awt.Event e)
public java.lang.String[] getSelected()
public void setSelected(java.awt.Component c, boolean state)
c
- Component to be selected/deselectedstate
- true selects component, false deselcts itpublic void setSelected(int index, boolean state)
index
- Index of component to be selected/deselectedstate
- true selects component, false deselcts itpublic boolean isSelected(java.awt.Component c)
c
- Compoenent to read state frompublic void toggleSelected(java.awt.Component c)
c
- Component to toggle state ofpublic void toggleSelected(int index)
index
- Index of component to toggle state ofpublic void setSelectedRange(int fromIndex, int toIndex, boolean state)
fromIndex
- Starting indextoIndex
- Ending indexstate
- true for selected, false for deselectedpublic void setSelectedAll(boolean state)
state
- true for selected, false for deselectedpublic void removeSelected()
public boolean handleEvent(java.awt.Event evt)
handleEvent
in class java.awt.Component
evt
- Event to be processed (see java.awt.Event)public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
public void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
public void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
public void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
public void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved
in interface java.awt.event.MouseMotionListener
public void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged
in interface java.awt.event.MouseMotionListener
public void componentResized(java.awt.event.ComponentEvent e)
componentResized
in interface java.awt.event.ComponentListener
public void componentMoved(java.awt.event.ComponentEvent e)
componentMoved
in interface java.awt.event.ComponentListener
public void componentShown(java.awt.event.ComponentEvent e)
componentShown
in interface java.awt.event.ComponentListener
public void componentHidden(java.awt.event.ComponentEvent e)
componentHidden
in interface java.awt.event.ComponentListener
public void keyTyped(java.awt.event.KeyEvent e)
keyTyped
in interface java.awt.event.KeyListener
public void keyPressed(java.awt.event.KeyEvent e)
keyPressed
in interface java.awt.event.KeyListener
public void keyReleased(java.awt.event.KeyEvent e)
keyReleased
in interface java.awt.event.KeyListener
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |