| NORSYS SOFTWARE © 2009 | NETICA API | JAVA VERSION 4.18

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## norsys.netica.gui
Class NetPanel

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.JPanel
                              |
                              +--norsys.netica.gui.NetPanel

All Implemented Interfaces:
  javax.accessibility.Accessible, DataDisplayer, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, NeticaListener, RecursingEventListener, java.io.Serializable

public class NetPanel
extends javax.swing.JPanel
implements RecursingEventListener, java.util.EventListener, DataDisplayer, NeticaListener

A javax.swing.JPanel for displaying a net. The net's appearance is similar to that in Netica Application (TM). For instance:

Fig. 1. A sample NetPanel.

The NetPanel is a container for NodePanels and draws links between the NodePanels.

You may freely change its appearance (background and foreground Colors, border styles, etc.), just as you would any JPanel.

Several static variables are provided for controlling some aspects of the NetPanels appearance. Feel free to modify them.

Since:
  3.0
Version:
  4.18 - October 1, 2010
See Also:
  Serialized Form

Inner classes inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Inner classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Inner classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent`

Field Summary
`static java.awt.Color` | `defaultBackgroundColor` The background color of this NetPanel upon construction.
`static java.awt.Color` | `defaultForegroundColor` The foreground color of this NetPanel upon construction.
`static java.awt.Color` | `defaultLinkColor` The color of any links drawn in this NetPanel.
`static int` | `defaultLinkPolicy` One of LINK_POLICY_NONE, LINK_POLICY_BELOW, or LINK_POLICY_ABOVE.
`static int` | `defaultLinkWidth` The width of the arrow shafts used in displaying links.
`static int` | `LINK_POLICY_ABOVE` Display the net's links, such that, should they overlap any NodePanels, the links appear above the nodes.
`static int` | `LINK_POLICY_BELOW` Display the net's links, such that, should they overlap any NodePanels, the nodes appear above the links.
`static int` | `LINK_POLICY_NONE` Do not display the net's links.

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
`NetPanel(Net net, int nodeStyle)` Creates a new NetPanel for displaying the given net.

Method Summary
`void` | `addListenerToAllComponents(java.util.EventListener eventListener)` Add the given EventListener to this object and, if it is a Container, to all RecursingEventListeners it contains.
`void` | `eventOccurred(NeticaEvent event)` A call-back method that Netica will call to indicate an event occurred.
`java.util.Vector` | `getLinkGraphics()` Returns a collection of LinkGraphic objects, one for each link in the Net.
`Net` | `getNet()` Return the Net that this NetPanel represents.
`NodePanel[]` | `getNodePanels()` Returns the list of NodePanels contained by this NetPanel.
`NodeList` | `getNodesWithDisplayMode(int displayMode)` Returns the list of Nodes in this NetPanel that are in the display mode.
`void` | `paintComponent(java.awt.Graphics g)` Overrides javax.swing.JComponent.paintComponent() to draw link arrows on this JPanel.
`void` | `refreshDataDisplayed()` Refresh all the data in this graphical Component, so that it correctly represents the current state of the Netica object it represents.
`void` | `remove(java.awt.Component comp)` Be sure to call super.remove(component), if you override this.
`void` | `removeListenerFromAllComponents(java.util.EventListener eventListener)` Remove the given EventListener from this object and, if it is a Container, from all RecursingEventListeners it contains.
`void` | `replaceNodePanel(NodePanel original, NodePanel replacement)` Replace one NodePanel in this NetPanel with another one representing the same Node.
`void` | `setLinkPolicy(int linkPolicy)` Sets the policy for displaying links, that is, whether they appear above or below NodePanels, or not at all.
`void` | `setNodeStyle(NodeList nodeList, int newStyle)` Change the display mode style of all the nodes in nodeList to newStyle.
`void` | `setSubnet(NodeList nodeList)` Display only those nodes in nodeList.

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUIClassID, paramString, updateUI`

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

public static final int LINK_POLICY_NONE

  Do not display the net's links. See setLinkPolicy.

public static final int LINK_POLICY_BELOW

  Display the net's links, such that, should they overlap any NodePanels, the nodes appear above the links. See setLinkPolicy.

public static final int LINK_POLICY_ABOVE

  Display the net's links, such that, should they overlap any NodePanels, the links appear above the nodes. See setLinkPolicy.

public static java.awt.Color defaultBackgroundColor

  The background color of this NetPanel upon construction.

public static java.awt.Color defaultForegroundColor

  The foreground color of this NetPanel upon construction.

public static java.awt.Color defaultLinkColor

  The color of any links drawn in this NetPanel.

public static int defaultLinkPolicy

  One of LINK_POLICY_NONE, LINK_POLICY_BELOW, or LINK_POLICY_ABOVE. The default is LINK_POLICY_BELOW. See setLinkPolicy.

public static int defaultLinkWidth

  The width of the arrow shafts used in displaying links. The default is 1 pixel.

Constructor Detail

public NetPanel ( |
Net | net,
int | nodeStyle
| ) throws Exception

  Creates a new NetPanel for displaying the given net.

  nodeStyle is the type of style to initially assign to all the displayed nodes. You can later replace individual NodePanels with new ones of different style using replaceNodePanel.
  Parameters:

  Net |  | net |  | The net to be diplayed.
  int |  | nodeStyle |  | One of: NODE_STYLE_AUTO_SELECT, NODE_STYLE_LABELED_BOX, NODE_STYLE_CIRCLE, NODE_STYLE_ABSENT, NODE_STYLE_BELIEF_BARS, or NODE_STYLE_TEXT.

  Version:
  Versions 3.0 and later have this method.
  Example:

      The following program will graphicallly display the net whose fileName
        is given as the first parameter on the command line
        import norsys.netica.*;
        import norsys.netica.gui.*;
        import javax.swing.*;

        class DrawNet extends JFrame{

            public DrawNet( String netName ) throws Exception {
            Net net = new Net( new Streamer( netName ) );
            net.compile();  //optional
            NetPanel netPanel = new NetPanel( net, NodePanel.NODE_STYLE_BELIEF_BARS );
            getContentPane().add(  new JScrollPane(netPanel ) ); //adds the NetPanel, within a JScrollPane, to ourself
            netPanel.setLinkPolicy( NetPanel.LINK_POLICY_BELOW);
            setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            setSize( 800, 500 );// or you may prefer: setSize( getPreferredSize() );
            show();
            }

            public static void main( String[] args ) {
                try {
                    Environ env = new Environ( null );
                    DrawNet dn = new DrawNet( args[0] );
                }
                catch ( Exception e ) {
                    e.printStackTrace();
                }
            }
        }

Method Detail

public void addListenerToAllComponents ( |
EventListener | eventListener
| )

  Description copied from interface: `RecursingEventListener`
  Add the given EventListener to this object and, if it is a Container, to all RecursingEventListeners it contains.
  Parameters:

  EventListener |  | eventListener |  | The listener to be added to this component and to any of its children that are also RecursingEventListeners.

  Version:
  Versions 3.0 and later have this method.
  See Also:

  removeListenerFromAllComponents |  | removes it instead

  Specified by:
    `addListenerToAllComponents` in interface `RecursingEventListener`

public void eventOccurred ( |
NeticaEvent | event
| )

  A call-back method that Netica will call to indicate an event occurred.
  Parameters:

  NeticaEvent |  | event |  | An object with information about the event that occurred.

  Version:
  Versions 3.0 and later have this method.
  Specified by:
    `eventOccurred` in interface `NeticaListener`

public Net getNet ( )

  Return the Net that this NetPanel represents.
  Version:
  Versions 3.0 and later have this method.

public NodePanel[] getNodePanels ( )

  Returns the list of NodePanels contained by this NetPanel.
  Version:
  Versions 3.0 and later have this method.

public NodeList getNodesWithDisplayMode ( |
int | displayMode
| ) throws Exception

  Returns the list of Nodes in this NetPanel that are in the display mode.

  displayMode must be one of `NodePanel.DISPLAY_MODE_GRAYED`, `NodePanel.DISPLAY_MODE_NORMAL`, or `NodePanel.DISPLAY_MODE_HILITED`, otherwise an exception will be thrown.
  Parameters:

  int |  | displayMode |  | One of `NodePanel.DISPLAY_MODE_GRAYED`, `NodePanel.DISPLAY_MODE_NORMAL`, or `NodePanel.DISPLAY_MODE_HILITED`

  Version:
  Versions 3.0 and later have this method.
  See Also:

  `NodePanel.setDisplayMode` |  | Set the display state of a particular NodePanel

public void paintComponent ( |
java.awt.Graphics | g
| )

  Overrides javax.swing.JComponent.paintComponent() to draw link arrows on this JPanel.

  NOTICE:If you override this method, you probably want to call super.paintComponent() in your method to ensure that the net's links are drawn.
  Parameters:

  java.awt.Graphics |  | g |  | The AWT/SWING Graphics context.

  Version:
  Versions 3.0 and later have this method.
  Overrides:
    `paintComponent` in class `javax.swing.JComponent`

public void refreshDataDisplayed ( ) throws NeticaException

  Description copied from interface: `DataDisplayer`
  Refresh all the data in this graphical Component, so that it correctly represents the current state of the Netica object it represents.

  If this is a Container object, then it should arrange to invoke the refreshDataDisplayed method of all the DataDisplayer objects it contains.
  Version:

  Versions 3.0 and later have this method.
  Specified by:
    `refreshDataDisplayed` in interface `DataDisplayer`

public void remove ( |
java.awt.Component | comp
| )

  Be sure to call super.remove(component), if you override this.
  Overrides:
    `remove` in class `java.awt.Container`

public void removeListenerFromAllComponents ( |
EventListener | eventListener
| )

  Description copied from interface: `RecursingEventListener`
  Remove the given EventListener from this object and, if it is a Container, from all RecursingEventListeners it contains.
  Parameters:

  EventListener |  | eventListener |  | The listener to be removed from this component and from any of its children that are also RecursingEventListeners.

  Version:
  Versions 3.0 and later have this method.
  See Also:

  addListenerToAllComponents |  | adds it instead

  Specified by:
    `removeListenerFromAllComponents` in interface `RecursingEventListener`

public Vector getLinkGraphics ( )

  Returns a collection of LinkGraphic objects, one for each link in the Net.

  WARNING:When replaceNodePanel is called, a NetPanel will replace all of its LinkGraphic objects with new ones.
  Version:

  Versions 3.0 and later have this method.

public void replaceNodePanel ( |
NodePanel | original,
NodePanel | replacement
| ) throws NeticaException

  Replace one NodePanel in this NetPanel with another one representing the same Node.

  original should be a NodePanel currently in this NetPanel. Otherwise, an exception will be thrown.

  replacement must be a NodePanel representing the same Node that original represents. Otherwise, an exception will be thrown.

  WARNING:This method causes the NetPanel to replace all of its LinkGraphic objects with new ones.
  Parameters:

  NodePanel |  | original |  | The NodePanel to be replaced.
  NodePanel |  | replacement |  | The NodePanel to be inserted.

  Version:
  Versions 3.0 and later have this method.

public void setLinkPolicy ( |
int | linkPolicy
| )

  Sets the policy for displaying links, that is, whether they appear above or below NodePanels, or not at all.

  linkPolicy should be one of LINK_POLICY_NONE, LINK_POLICY_BELOW, or LINK_POLICY_ABOVE.
  Parameters:

  int |  | linkPolicy |  | One of LINK_POLICY_NONE, LINK_POLICY_BELOW, or LINK_POLICY_ABOVE.

  Version:
  Versions 3.0 and later have this method.

public void setSubnet ( |
NodeList | nodeList
| ) throws Exception

  Display only those nodes in nodeList.

  The NetPanel will still retain all the NodePanels for this net, it will just only display those whose Nodes are in nodeList.

  Only the links between the nodes in nodeList will be drawn.
  Parameters:

  NodeList |  | nodeList |  | The list of nodes to display.

  Version:
  Versions 3.0 and later have this method.

public void setNodeStyle ( |
NodeList | nodeList,
int | newStyle
| ) throws Exception

  Change the display mode style of all the nodes in nodeList to newStyle.

  nodeList may be null in which case all the net's nodes will have their style set.

  newStyle should be one of:

  NODE_STYLE_AUTO_SELECT |  | Netica-J will choose an appropriate style for you from amongst the following.
  NODE_STYLE_LABELED_BOX |  | Node title/name in rounded box
  NODE_STYLE_CIRCLE |  | Plain circle
  NODE_STYLE_ABSENT |  | Empty space (but links to/from it still appear)
  NODE_STYLE_BELIEF_BARS |  | Netica (TM) style belief bars, a very popular styl

  Each of the above is depicted in the following diagram:
  Parameters:

  NodeList |  | nodeList |  | The list of nodes to change. If null, then this is the same as a list of all of the net's nodes.
  int |  | nodeStyle |  | A valid NODE_STYLE_X constant.

  Version:
  Versions 3.0 and later have this method.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD