Package weka.gui.arffviewer

# Class ArffPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.arffviewer.ArffPanel

All Implemented Interfaces:
  `ActionListener`, `MouseListener`, `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `ChangeListener`, `Undoable`

public class ArffPanel extends JPanel implements ActionListener, ChangeListener, MouseListener, Undoable
A Panel representing an ARFF-Table and the associated filename.

Version:
  $Revision: 7369 $
Author:
  FracPete (fracpete at waikato dot ac dot nz)
See Also:
  - 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 String`
`TAB_INSTANCES`
the name of the tab for instances that were set directly

### 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
`ArffPanel()`
initializes the panel with no data
`ArffPanel(String filename)`
initializes the panel and loads the specified file
`ArffPanel(Instances data)`
initializes the panel with the given data

## Method Summary

Modifier and Type
Method
Description
`void`
`actionPerformed(ActionEvent e)`
invoked when an action occurs
`void`
`addChangeListener(ChangeListener l)`
Adds a ChangeListener to the panel
`void`
`addUndoPoint()`
adds the current state of the instances to the undolist
`void`
`attributeAsClass()`
sets the current attribute as class attribute, i.e.
`boolean`
`canUndo()`
returns whether an undo is possible
`void`
`clearSearch()`
clears the search, i.e.
`void`
`clearUndo()`
removes the undo history
`void`
`copyContent()`
copies the content of the selection to the clipboard
`void`
`deleteAttribute()`
deletes the currently selected attribute
`void`
`deleteAttributes()`
deletes the chosen attributes
`void`
`deleteInstance()`
deletes the currently selected instance
`void`
`deleteInstances()`
deletes all the currently selected instances
`Vector`
`getAttributes()`
returns a list with the attributes
`String`
`getFilename()`
returns the filename
`Instances`
`getInstances()`
returns the instances of the panel, if none then NULL
`ArffTable`
`getTable()`
returns the table component
`String`
`getTitle()`
returns the title for the Tab, i.e.
`boolean`
`isChanged()`
returns whether the content of the panel was changed
`boolean`
`isReadOnly()`
returns whether the model is read-only
`boolean`
`isUndoEnabled()`
returns whether undo support is enabled
`void`
`mouseClicked(MouseEvent e)`
Invoked when a mouse button has been pressed and released on a component
`void`
`mouseEntered(MouseEvent e)`
Invoked when the mouse enters a component.
`void`
`mouseExited(MouseEvent e)`
Invoked when the mouse exits a component
`void`
`mousePressed(MouseEvent e)`
Invoked when a mouse button has been pressed on a component
`void`
`mouseReleased(MouseEvent e)`
Invoked when a mouse button has been released on a component.
`void`
`notifyListener()`
notfies all listener of the change
`void`
`removeChangeListener(ChangeListener l)`
Removes a ChangeListener from the panel
`void`
`renameAttribute()`
renames the current attribute
`void`
`search()`
searches for a string in the cells
`void`
`setChanged(boolean changed)`
can only reset the changed state to FALSE
`void`
`setFilename(String filename)`
sets the filename
`void`
`setInstances(Instances data)`
displays the given instances, i.e.
`void`
`setOptimalColWidth()`
calculates the optimal column width for the current column
`void`
`setOptimalColWidths()`
calculates the optimal column widths for all columns
`void`
`setReadOnly(boolean value)`
sets whether the model is read-only
`void`
`setUndoEnabled(boolean enabled)`
sets whether undo support is enabled
`void`
`sortInstances()`
sorts the instances via the currently selected column
`void`
`stateChanged(ChangeEvent e)`
Invoked when the target of the listener has changed its state.
`void`
`undo()`
performs an undo action

### 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, 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, 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

### TAB_INSTANCES

public static final String TAB_INSTANCES
the name of the tab for instances that were set directly

## Constructor Details

### ArffPanel

public ArffPanel()
initializes the panel with no data

### ArffPanel

public ArffPanel(String filename)
initializes the panel and loads the specified file

Parameters:
  `filename` - the file to load

### ArffPanel

public ArffPanel(Instances data)
initializes the panel with the given data

Parameters:
  `data` - the data to use

## Method Details

### getTable

public ArffTable getTable()
returns the table component

Returns:
  the table

### getTitle

public String getTitle()
returns the title for the Tab, i.e. the filename

Returns:
  the title for the tab

### getFilename

public String getFilename()
returns the filename

Returns:
  the filename

### setFilename

public void setFilename(String filename)
sets the filename

Parameters:
  `filename` - the new filename

### getInstances

public Instances getInstances()
returns the instances of the panel, if none then NULL

Returns:
  the instances of the panel

### setInstances

public void setInstances(Instances data)
displays the given instances, i.e. creates a tab with the title TAB_INSTANCES. if one already exists it closes it.
if a different instances object is used here, don't forget to clear the undo-history by calling `clearUndo()`

Parameters:
  `data` - the instances to display
See Also:
  - `TAB_INSTANCES`
  - `clearUndo()`

### getAttributes

public Vector getAttributes()
returns a list with the attributes

Returns:
  a list of the attributes

### setChanged

public void setChanged(boolean changed)
can only reset the changed state to FALSE

Parameters:
  `changed` - if false, resets the changed state

### isChanged

public boolean isChanged()
returns whether the content of the panel was changed

Returns:
  true if the content was changed

### isReadOnly

public boolean isReadOnly()
returns whether the model is read-only

Returns:
  true if model is read-only

### setReadOnly

public void setReadOnly(boolean value)
sets whether the model is read-only

Parameters:
  `value` - if true the model is set to read-only

### isUndoEnabled

public boolean isUndoEnabled()
returns whether undo support is enabled

Specified by:
  `isUndoEnabled` in interface `Undoable`
Returns:
  true if undo is enabled

### setUndoEnabled

public void setUndoEnabled(boolean enabled)
sets whether undo support is enabled

Specified by:
  `setUndoEnabled` in interface `Undoable`
Parameters:
  `enabled` - whether to enable/disable undo support

### clearUndo

public void clearUndo()
removes the undo history

Specified by:
  `clearUndo` in interface `Undoable`

### canUndo

public boolean canUndo()
returns whether an undo is possible

Specified by:
  `canUndo` in interface `Undoable`
Returns:
  true if undo is possible

### undo

public void undo()
performs an undo action

Specified by:
  `undo` in interface `Undoable`

### addUndoPoint

public void addUndoPoint()
adds the current state of the instances to the undolist

Specified by:
  `addUndoPoint` in interface `Undoable`

### deleteAttribute

public void deleteAttribute()
deletes the currently selected attribute

### deleteAttributes

public void deleteAttributes()
deletes the chosen attributes

### attributeAsClass

public void attributeAsClass()
sets the current attribute as class attribute, i.e. it moves it to the end of the attributes

### renameAttribute

public void renameAttribute()
renames the current attribute

### deleteInstance

public void deleteInstance()
deletes the currently selected instance

### deleteInstances

public void deleteInstances()
deletes all the currently selected instances

### sortInstances

public void sortInstances()
sorts the instances via the currently selected column

### copyContent

public void copyContent()
copies the content of the selection to the clipboard

### search

public void search()
searches for a string in the cells

### clearSearch

public void clearSearch()
clears the search, i.e. resets the found cells

### setOptimalColWidth

public void setOptimalColWidth()
calculates the optimal column width for the current column

### setOptimalColWidths

public void setOptimalColWidths()
calculates the optimal column widths for all columns

### actionPerformed

public void actionPerformed(ActionEvent e)
invoked when an action occurs

Specified by:
  `actionPerformed` in interface `ActionListener`
Parameters:
  `e` - the action event

### mouseClicked

public void mouseClicked(MouseEvent e)
Invoked when a mouse button has been pressed and released on a component

Specified by:
  `mouseClicked` in interface `MouseListener`
Parameters:
  `e` - the mouse event

### mouseEntered

public void mouseEntered(MouseEvent e)
Invoked when the mouse enters a component.

Specified by:
  `mouseEntered` in interface `MouseListener`
Parameters:
  `e` - the mouse event

### mouseExited

public void mouseExited(MouseEvent e)
Invoked when the mouse exits a component

Specified by:
  `mouseExited` in interface `MouseListener`
Parameters:
  `e` - the mouse event

### mousePressed

public void mousePressed(MouseEvent e)
Invoked when a mouse button has been pressed on a component

Specified by:
  `mousePressed` in interface `MouseListener`
Parameters:
  `e` - the mouse event

### mouseReleased

public void mouseReleased(MouseEvent e)
Invoked when a mouse button has been released on a component.

Specified by:
  `mouseReleased` in interface `MouseListener`
Parameters:
  `e` - the mouse event

### stateChanged

public void stateChanged(ChangeEvent e)
Invoked when the target of the listener has changed its state.

Specified by:
  `stateChanged` in interface `ChangeListener`
Parameters:
  `e` - the change event

### notifyListener

public void notifyListener()
notfies all listener of the change

### addChangeListener

public void addChangeListener(ChangeListener l)
Adds a ChangeListener to the panel

Parameters:
  `l` - the listener to add

### removeChangeListener

public void removeChangeListener(ChangeListener l)
Removes a ChangeListener from the panel

Parameters:
  `l` - the listener to remove