com.github.sarxos.webcam
Class WebcamPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.github.sarxos.webcam.WebcamPanel
All Implemented Interfaces:
WebcamListener, ImageObserver, MenuContainer, Serializable, Accessible

public class WebcamPanel
extends JPanel
implements WebcamListener

Simply implementation of JPanel allowing users to render pictures taken with webcam.

Author:
Bartosz Firyn (SarXos)
See Also:
Serialized Form

Nested Class Summary
 class WebcamPanel.DefaultPainter
          Default painter used to draw image in panel.
static interface WebcamPanel.Painter
          Interface of the painter used to draw image in panel.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static double MIN_FREQUENCY
          Minimum FPS frequency.
 
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
WebcamPanel(Webcam webcam)
          Creates webcam panel and automatically start webcam.
WebcamPanel(Webcam webcam, boolean start)
          Creates new webcam panel which display image from camera in you your Swing application.
 
Method Summary
 double getFrequency()
          Get rendering frequency in FPS (equivalent to Hz).
 WebcamPanel.Painter getPainter()
          Get painter used to draw image in webcam panel.
 boolean isStarting()
          Is webcam starting.
protected  void paintComponent(Graphics g)
           
 void pause()
          Pause rendering.
 void resume()
          Resume rendering.
 void setFPS(double frequency)
          Set rendering frequency (in Hz or FPS).
 void setPainter(WebcamPanel.Painter painter)
          Set new painter.
 void start()
          Open webcam and start rendering.
 void stop()
          Stop rendering and close webcam.
 void webcamClosed(WebcamEvent we)
          Webcam has been closed
 void webcamDisposed(WebcamEvent we)
          Webcam has been disposed
 void webcamOpen(WebcamEvent we)
          Webcam has been open.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 

Field Detail

MIN_FREQUENCY

public static final double MIN_FREQUENCY
Minimum FPS frequency.

See Also:
Constant Field Values
Constructor Detail

WebcamPanel

public WebcamPanel(Webcam webcam)
Creates webcam panel and automatically start webcam.

Parameters:
webcam - the webcam to be used to fetch images

WebcamPanel

public WebcamPanel(Webcam webcam,
                   boolean start)
Creates new webcam panel which display image from camera in you your Swing application.

Parameters:
webcam - the webcam to be used to fetch images
start - true if webcam shall be automatically started
Method Detail

setPainter

public void setPainter(WebcamPanel.Painter painter)
Set new painter. Painter is a class which pains image visible when

Parameters:
painter - the painter object to be set

getPainter

public WebcamPanel.Painter getPainter()
Get painter used to draw image in webcam panel.

Returns:
Painter object

paintComponent

protected void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

webcamOpen

public void webcamOpen(WebcamEvent we)
Description copied from interface: WebcamListener
Webcam has been open.

Specified by:
webcamOpen in interface WebcamListener
Parameters:
we - a webcam event

webcamClosed

public void webcamClosed(WebcamEvent we)
Description copied from interface: WebcamListener
Webcam has been closed

Specified by:
webcamClosed in interface WebcamListener
Parameters:
we - a webcam event

webcamDisposed

public void webcamDisposed(WebcamEvent we)
Description copied from interface: WebcamListener
Webcam has been disposed

Specified by:
webcamDisposed in interface WebcamListener
Parameters:
we - a webcam event

start

public void start()
Open webcam and start rendering.


stop

public void stop()
Stop rendering and close webcam.


pause

public void pause()
Pause rendering.


resume

public void resume()
Resume rendering.


getFrequency

public double getFrequency()
Get rendering frequency in FPS (equivalent to Hz).

Returns:
Rendering frequency

setFPS

public void setFPS(double frequency)
Set rendering frequency (in Hz or FPS). Minimum frequency is 0.016 (1 frame per minute) and maximum is 25 (25 frames per second).

Parameters:
frequency - the frequency

isStarting

public boolean isStarting()
Is webcam starting.

Returns:


Copyright © 2012-2013 Bartosz Firyn (SarXos). All Rights Reserved.