Package weka.gui.beans

# Class BeanVisual

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.BeanVisual

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

public class BeanVisual extends JPanel
BeanVisual encapsulates icons and label for a given bean. Has methods to load icons, set label text and toggle between static and animated versions of a bean's icon.

Since:
  1.0
Version:
  $Revision: 1.10 $
Author:
  Mark Hall
See Also:
  - `JPanel`
  - `Serializable`
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class javax.swing.JComponent

`JComponent.AccessibleJComponent`

## Nested classes/interfaces inherited from class java.awt.Component

`Component.BaselineResizeBehavior`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`EAST_CONNECTOR`
`static final String`
`ICON_PATH`
`static final int`
`NORTH_CONNECTOR`
`static final int`
`SOUTH_CONNECTOR`
`static final int`
`WEST_CONNECTOR`

### Fields inherited from class javax.swing.JComponent

`TOOL_TIP_TEXT_KEY, 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

Constructors
Constructor
Description
`BeanVisual(String visualName, String iconPath, String animatedIconPath)`
Constructor

## Method Summary

Modifier and Type
Method
Description
`void`
`addPropertyChangeListener(PropertyChangeListener pcl)`
Add a listener for property change events
`ImageIcon`
`getAnimatedIcon()`
Returns the animated icon
`String`
`getAnimatedIconPath()`
returns the path for the animated icon
`Point`
`getClosestConnectorPoint(Point pt)`
Returns the coordinates of the closest "connector" point to the supplied point.
`Point`
`getConnectorPoint(int compassPoint)`
Returns the coordinates of the connector point given a compass point
`String`
`getIconPath()`
returns the path for the icon
`ImageIcon`
`getStaticIcon()`
Returns the static icon
`String`
`getText()`
Get the visual's label
`boolean`
`loadIcons(String iconPath, String animatedIconPath)`
Loads static and animated versions of a beans icons.
`void`
`paintComponent(Graphics gx)`
`void`
`removePropertyChangeListener(PropertyChangeListener pcl)`
Remove a property change listener
`void`
`scale(int factor)`
Reduce this BeanVisual's icon size by the given factor
`void`
`setAnimated()`
Set the animated version of the icon
`void`
`setDisplayConnectors(boolean dc)`
Turn on/off the connector points
`void`
`setDisplayConnectors(boolean dc, Color c)`
Turn on/off the connector points
`void`
`setStatic()`
Set the static version of the icon
`void`
`setText(String text)`
Set the label for the visual.

### Methods inherited from class javax.swing.JPanel

`getAccessibleContext, getUI, getUIClassID, setUI, updateUI`

### Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

### Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### ICON_PATH

public static final String ICON_PATH

See Also:
  - Constant Field Values

### NORTH_CONNECTOR

public static final int NORTH_CONNECTOR

See Also:
  - Constant Field Values

### SOUTH_CONNECTOR

public static final int SOUTH_CONNECTOR

See Also:
  - Constant Field Values

### EAST_CONNECTOR

public static final int EAST_CONNECTOR

See Also:
  - Constant Field Values

### WEST_CONNECTOR

public static final int WEST_CONNECTOR

See Also:
  - Constant Field Values

## Constructor Details

### BeanVisual

public BeanVisual(String visualName, String iconPath, String animatedIconPath)
Constructor

Parameters:
  `visualName` - name for the bean
  `iconPath` - path to the icon file
  `animatedIconPath` - path to the animated icon file

## Method Details

### scale

public void scale(int factor)
Reduce this BeanVisual's icon size by the given factor

Parameters:
  `factor` - the factor by which to reduce the icon size by

### loadIcons

public boolean loadIcons(String iconPath, String animatedIconPath)
Loads static and animated versions of a beans icons. These are assumed to be defined in the system resource location (i.e. in the CLASSPATH). If the named icons do not exist, no changes to the visual appearance is made. Since default icons for generic types of beans (eg. DataSource, Classifier etc) are assumed to exist, it allows developers to add custom icons for for specific instantiations of these beans (eg. J48, DiscretizeFilter etc) at their leisure.

Parameters:
  `iconPath` - path to
  `animatedIconPath` - a `String` value

### setText

public void setText(String text)
Set the label for the visual. Informs any property change listeners

Parameters:
  `text` - the label

### getText

public String getText()
Get the visual's label

Returns:
  a `String` value

### setStatic

public void setStatic()
Set the static version of the icon

### setAnimated

public void setAnimated()
Set the animated version of the icon

### getClosestConnectorPoint

public Point getClosestConnectorPoint(Point pt)
Returns the coordinates of the closest "connector" point to the supplied point. Coordinates are in the parent containers coordinate space.

Parameters:
  `pt` - the reference point
Returns:
  the closest connector point

### getConnectorPoint

public Point getConnectorPoint(int compassPoint)
Returns the coordinates of the connector point given a compass point

Parameters:
  `compassPoint` - a compass point
Returns:
  a `Point` value

### getStaticIcon

public ImageIcon getStaticIcon()
Returns the static icon

Returns:
  an `ImageIcon` value

### getAnimatedIcon

public ImageIcon getAnimatedIcon()
Returns the animated icon

Returns:
  an `ImageIcon` value

### getIconPath

public String getIconPath()
returns the path for the icon

Returns:
  the path for the icon

### getAnimatedIconPath

public String getAnimatedIconPath()
returns the path for the animated icon

Returns:
  the path for the animated icon

### setDisplayConnectors

public void setDisplayConnectors(boolean dc)
Turn on/off the connector points

Parameters:
  `dc` - a `boolean` value

### setDisplayConnectors

public void setDisplayConnectors(boolean dc, Color c)
Turn on/off the connector points

Parameters:
  `dc` - a `boolean` value
  `c` - the Color to use

### addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener pcl)
Add a listener for property change events

Overrides:
  `addPropertyChangeListener` in class `Container`
Parameters:
  `pcl` - a `PropertyChangeListener` value

### removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener pcl)
Remove a property change listener

Overrides:
  `removePropertyChangeListener` in class `Component`
Parameters:
  `pcl` - a `PropertyChangeListener` value

### paintComponent

public void paintComponent(Graphics gx)