Package weka.gui.arffviewer

# Class ArffViewerMainPanel

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

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

public class ArffViewerMainPanel extends JPanel implements ActionListener, ChangeListener
The main panel of the ArffViewer. It has a reference to the menu, that an implementing JFrame only needs to add via the setJMenuBar(JMenuBar) method.

Version:
  $Revision: 11342 $
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 int`
  `DEFAULT_HEIGHT`
  the default for height
  `static final int`
  `DEFAULT_LEFT`
  the default for left
  `static final int`
  `DEFAULT_TOP`
  the default for top
  `static final int`
  `DEFAULT_WIDTH`
  the default for width
  `static final int`
  `HEIGHT`
  default height
  `static final int`
  `WIDTH`
  default width

  ### 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, PROPERTIES, SOMEBITS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ArffViewerMainPanel(Container parentFrame)`
  initializes the object

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent e)`
  invoked when an action occurs
  `void`
  `attributeAsClass()`
  sets the current selected Attribute as class attribute, i.e.
  `void`
  `clearSearch()`
  clears the search, i.e.
  `void`
  `close()`
  closes the window, i.e., if the parent is not null and implements the WindowListener interface it calls the windowClosing method
  `void`
  `closeAllFiles()`
  closes all open files
  `void`
  `closeFile()`
  closes the current tab
  `void`
  `closeFile(boolean showCancel)`
  closes the current tab
  `void`
  `copyContent()`
  copies the content of the selection to the clipboard
  `void`
  `deleteAttribute(boolean multiple)`
  deletes the current selected Attribute or several chosen ones
  `void`
  `deleteInstance(boolean multiple)`
  deletes the current selected Instance or several chosen ones
  `boolean`
  `getConfirmExit()`
  returns the setting of whether to display a confirm messagebox or not on exit
  `String`
  `getCurrentFilename()`
  returns the filename of the current tab
  `int`
  `getCurrentIndex()`
  returns the currently selected tab index
  `ArffPanel`
  `getCurrentPanel()`
  returns the currently selected panel
  `boolean`
  `getExitOnClose()`
  returns TRUE if a System.exit(0) is done on a close
  `String`
  `getFilename(int index)`
  returns the filename of the specified panel
  `String`
  `getFrameTitle()`
  returns the title (incl.
  `JMenuBar`
  `getMenu()`
  returns the menu bar to be added in a frame
  `ArffPanel`
  `getPanel(int index)`
  returns the specified panel, `null` if index is out of bounds
  `int`
  `getPanelCount()`
  returns the number of panels currently open
  `JFrame`
  `getParentFrame()`
  returns the parent frame, if it's a JFrame, otherwise null
  `JInternalFrame`
  `getParentInternalFrame()`
  returns the parent frame, if it's a JInternalFrame, otherwise null
  `JTabbedPane`
  `getTabbedPane()`
  returns the tabbedpane instance
  `boolean`
  `isPanelSelected()`
  checks whether a panel is currently selected
  `void`
  `loadFile()`
  loads the specified file into the table
  `void`
  `loadFile(String filename, AbstractFileLoader... loaders)`
  loads the specified file
  `void`
  `refresh()`
  validates and repaints the frame
  `void`
  `renameAttribute()`
  renames the current selected Attribute
  `void`
  `saveFile()`
  saves the current data into a file
  `void`
  `saveFileAs()`
  saves the current data into a new file
  `void`
  `search()`
  searches for a string in the cells
  `void`
  `setConfirmExit(boolean confirm)`
  whether to present a MessageBox on Exit or not
  `void`
  `setCurrentFilename(String filename)`
  sets the filename of the current tab
  `void`
  `setExitOnClose(boolean value)`
  whether to do a System.exit(0) on close
  `void`
  `setFilename(int index, String filename)`
  sets the filename of the specified panel
  `void`
  `setOptimalColWidths()`
  sets the optimal column width for all columns
  `void`
  `setParent(Container value)`
  sets the new parent frame
  `String`
  `showAttributes()`
  displays all the attributes, returns the selected item or NULL if canceled
  `void`
  `showProperties()`
  displays some properties of the instances
  `void`
  `showValues()`
  displays all the distinct values for an attribute
  `void`
  `sortInstances()`
  sorts the current selected attribute
  `void`
  `stateChanged(ChangeEvent e)`
  Invoked when the target of the listener has changed its state.
  `String`
  `toString()`
  returns only the classname
  `void`
  `undo()`
  undoes the last action
  `void`
  `updateFrameTitle()`
  sets the title of the parent frame, if one was provided

  ### 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, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

- ## Field Details

  - ### DEFAULT_WIDTH

    public static final int DEFAULT_WIDTH
    the default for width
    See Also:
      - Constant Field Values

  - ### DEFAULT_HEIGHT

    public static final int DEFAULT_HEIGHT
    the default for height
    See Also:
      - Constant Field Values

  - ### DEFAULT_LEFT

    public static final int DEFAULT_LEFT
    the default for left
    See Also:
      - Constant Field Values

  - ### DEFAULT_TOP

    public static final int DEFAULT_TOP
    the default for top
    See Also:
      - Constant Field Values

  - ### WIDTH

    public static final int WIDTH
    default width
    See Also:
      - Constant Field Values

  - ### HEIGHT

    public static final int HEIGHT
    default height
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### ArffViewerMainPanel

    public ArffViewerMainPanel(Container parentFrame)
    initializes the object
    Parameters:
      `parentFrame` - the parent frame (JFrame or JInternalFrame)

- ## Method Details

  - ### getParentFrame

    public JFrame getParentFrame()
    returns the parent frame, if it's a JFrame, otherwise null
    Returns:
      the parent frame

  - ### getParentInternalFrame

    public JInternalFrame getParentInternalFrame()
    returns the parent frame, if it's a JInternalFrame, otherwise null
    Returns:
      the parent frame

  - ### setParent

    public void setParent(Container value)
    sets the new parent frame
    Parameters:
      `value` - the parent frame

  - ### getMenu

    public JMenuBar getMenu()
    returns the menu bar to be added in a frame
    Returns:
      the menu bar

  - ### getTabbedPane

    public JTabbedPane getTabbedPane()
    returns the tabbedpane instance
    Returns:
      the tabbed pane

  - ### setConfirmExit

    public void setConfirmExit(boolean confirm)
    whether to present a MessageBox on Exit or not
    Parameters:
      `confirm` - whether a MessageBox pops up or not to confirm exit

  - ### getConfirmExit

    public boolean getConfirmExit()
    returns the setting of whether to display a confirm messagebox or not on exit
    Returns:
      whether a messagebox is displayed or not

  - ### setExitOnClose

    public void setExitOnClose(boolean value)
    whether to do a System.exit(0) on close
    Parameters:
      `value` - enables/disables a System.exit(0) on close

  - ### getExitOnClose

    public boolean getExitOnClose()
    returns TRUE if a System.exit(0) is done on a close
    Returns:
      true if a System.exit(0) is done on close

  - ### refresh

    public void refresh()
    validates and repaints the frame

  - ### getFrameTitle

    public String getFrameTitle()
    returns the title (incl. filename) for the frame
    Returns:
      the frame title

  - ### updateFrameTitle

    public void updateFrameTitle()
    sets the title of the parent frame, if one was provided

  - ### getPanelCount

    public int getPanelCount()
    returns the number of panels currently open
    Returns:
      the number of open panels

  - ### getPanel

    public ArffPanel getPanel(int index)
    returns the specified panel, `null` if index is out of bounds
    Parameters:
      `index` - the index of the panel
    Returns:
      the panel

  - ### getCurrentIndex

    public int getCurrentIndex()
    returns the currently selected tab index
    Returns:
      the index of the currently selected tab

  - ### getCurrentPanel

    public ArffPanel getCurrentPanel()
    returns the currently selected panel
    Returns:
      the currently selected panel

  - ### isPanelSelected

    public boolean isPanelSelected()
    checks whether a panel is currently selected
    Returns:
      true if a panel is currently selected

  - ### getFilename

    public String getFilename(int index)
    returns the filename of the specified panel
    Parameters:
      `index` - the index of the panel
    Returns:
      the filename for the panel

  - ### getCurrentFilename

    public String getCurrentFilename()
    returns the filename of the current tab
    Returns:
      the current filename

  - ### setFilename

    public void setFilename(int index, String filename)
    sets the filename of the specified panel
    Parameters:
      `index` - the index of the panel
      `filename` - the new filename

  - ### setCurrentFilename

    public void setCurrentFilename(String filename)
    sets the filename of the current tab
    Parameters:
      `filename` - the new filename

  - ### loadFile

    public void loadFile(String filename, AbstractFileLoader... loaders)
    loads the specified file
    Parameters:
      `filename` - the file to load
      `loaders` - optional varargs loader to use

  - ### loadFile

    public void loadFile()
    loads the specified file into the table

  - ### saveFile

    public void saveFile()
    saves the current data into a file

  - ### saveFileAs

    public void saveFileAs()
    saves the current data into a new file

  - ### closeFile

    public void closeFile()
    closes the current tab

  - ### closeFile

    public void closeFile(boolean showCancel)
    closes the current tab
    Parameters:
      `showCancel` - whether to show an additional CANCEL button in the "Want to save changes"-dialog
    See Also:
      - `saveChanges(boolean)`

  - ### closeAllFiles

    public void closeAllFiles()
    closes all open files

  - ### showProperties

    public void showProperties()
    displays some properties of the instances

  - ### close

    public void close()
    closes the window, i.e., if the parent is not null and implements the WindowListener interface it calls the windowClosing method

  - ### undo

    public void undo()
    undoes the last action

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

  - ### renameAttribute

    public void renameAttribute()
    renames the current selected Attribute

  - ### attributeAsClass

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

  - ### deleteAttribute

    public void deleteAttribute(boolean multiple)
    deletes the current selected Attribute or several chosen ones
    Parameters:
      `multiple` - whether to delete myultiple attributes

  - ### deleteInstance

    public void deleteInstance(boolean multiple)
    deletes the current selected Instance or several chosen ones
    Parameters:
      `multiple` - whether to delete multiple instances

  - ### sortInstances

    public void sortInstances()
    sorts the current selected attribute

  - ### showAttributes

    public String showAttributes()
    displays all the attributes, returns the selected item or NULL if canceled
    Returns:
      the name of the selected attribute

  - ### showValues

    public void showValues()
    displays all the distinct values for an attribute

  - ### setOptimalColWidths

    public void setOptimalColWidths()
    sets the optimal column width 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

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

  - ### toString

    public String toString()
    returns only the classname
    Overrides:
      `toString` in class `Component`
    Returns:
      the classname