Package weka.gui.explorer
Class PreprocessPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- weka.gui.AbstractPerspective
-
- weka.gui.explorer.PreprocessPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,Explorer.CapabilitiesFilterChangeListener,Explorer.ExplorerPanel,Explorer.LogHandler,Perspective
@PerspectiveInfo(ID="weka.gui.explorer.preprocesspanel", title="Preprocess", toolTipText="Preprocess data", iconPath="weka/gui/weka_icon_new_small.png") public class PreprocessPanel extends AbstractPerspective implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
This panel controls simple preprocessing of instances. Summary information on instances and attributes is shown. Filters may be configured to alter the set of instances. Altered instances may also be saved.- Version:
- $Revision: 15378 $
- Author:
- Richard Kirkby (rkirkby@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPreprocessPanel.PreprocessDefaults
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description PreprocessPanel()Creates the instances panel with no initial instances.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptsInstances()We can accept instancesvoidaddPropertyChangeListener(java.beans.PropertyChangeListener l)Adds a PropertyChangeListener who will be notified of value changes.voidaddUndoPoint()Backs up the current state of the dataset, so the changes can be undone.voidcapabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)method gets called in case of a change eventvoidedit()edits the current instances object in the viewervoidgenerateInstances()sets Instances generated via DataGenerators (pops up a Dialog)DefaultsgetDefaultSettings()Get the default settings for this perspective (or null if there are none)ExplorergetExplorer()returns the parent Explorer frameInstancesgetInstances()Gets the working set of instances.java.util.List<javax.swing.JMenu>getMenus()Get an ordered list of menus to appear in the main menu bar.java.lang.StringgetTabTitle()Returns the title for the tab in the Explorerjava.lang.StringgetTabTitleToolTip()Returns the tooltip for the tab in the ExplorervoidinstantiationComplete()We've been instantiated and now have access to the main application and PerspectiveManagerstatic voidmain(java.lang.String[] args)Tests out the instance-preprocessing panel from the command line.voidremovePropertyChangeListener(java.beans.PropertyChangeListener l)Removes a PropertyChangeListener.booleanrequiresLog()Whether this perspective requires a graphical log to write tovoidsaveInstancesToFile(AbstractFileSaver saver, Instances inst)saves the data with the specified savervoidsaveWorkingInstancesToFileQ()Queries the user for a file to save instances as, then saves the instances in a background process.voidsetActive(boolean active)Set active status of this perspective.voidsetExplorer(Explorer parent)Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)voidsetInstances(Instances inst)Tells the panel to use a new base set of instances.voidsetInstancesFromDB(InstanceQuery iq)Loads instances from a databasevoidsetInstancesFromDBQ(java.lang.String url, java.lang.String user, java.lang.String pw, java.lang.String query)Loads (non-sparse) instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process.voidsetInstancesFromDBQ(java.lang.String url, java.lang.String user, java.lang.String pw, java.lang.String query, boolean sparse)Loads instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process.voidsetInstancesFromFile(AbstractFileLoader loader)Loads results from a set of instances retrieved with the supplied loader.voidsetInstancesFromFileQ()Queries the user for a file to load instances from, then loads the instances in a background process.voidsetInstancesFromURL(java.net.URL u)Loads instances from a URL.voidsetInstancesFromURLQ()Queries the user for a URL to load instances from, then loads the instances in a background process.voidsetLog(Logger newLog)Sets the Logger to receive informational messagesvoidsettingsChanged()Called when the user alters settings.voidundo()Reverts to the last backed up version of the dataset.-
Methods inherited from class weka.gui.AbstractPerspective
getMainApplication, getPerspectiveIcon, getPerspectiveID, getPerspectiveTipText, getPerspectiveTitle, okToBeActive, setLoaded, setMainApplication, terminate, toString
-
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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Method Detail
-
acceptsInstances
public boolean acceptsInstances()
We can accept instances- Specified by:
acceptsInstancesin interfacePerspective- Overrides:
acceptsInstancesin classAbstractPerspective- Returns:
- true
-
instantiationComplete
public void instantiationComplete()
We've been instantiated and now have access to the main application and PerspectiveManager- Specified by:
instantiationCompletein interfacePerspective- Overrides:
instantiationCompletein classAbstractPerspective
-
setLog
public void setLog(Logger newLog)
Sets the Logger to receive informational messages- Specified by:
setLogin interfaceExplorer.LogHandler- Specified by:
setLogin interfacePerspective- Overrides:
setLogin classAbstractPerspective- Parameters:
newLog- the Logger that will now get info messages
-
requiresLog
public boolean requiresLog()
Description copied from class:AbstractPerspectiveWhether this perspective requires a graphical log to write to- Specified by:
requiresLogin interfacePerspective- Overrides:
requiresLogin classAbstractPerspective- Returns:
- true if a log is needed by this perspective
-
setInstances
public void setInstances(Instances inst)
Tells the panel to use a new base set of instances.- Specified by:
setInstancesin interfaceExplorer.ExplorerPanel- Specified by:
setInstancesin interfacePerspective- Overrides:
setInstancesin classAbstractPerspective- Parameters:
inst- a set of Instances
-
getInstances
public Instances getInstances()
Gets the working set of instances.- Returns:
- the working instances
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Adds a PropertyChangeListener who will be notified of value changes.- Overrides:
addPropertyChangeListenerin classjava.awt.Container- Parameters:
l- a value of type 'PropertyChangeListener'
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Removes a PropertyChangeListener.- Overrides:
removePropertyChangeListenerin classjava.awt.Component- Parameters:
l- a value of type 'PropertyChangeListener'
-
saveWorkingInstancesToFileQ
public void saveWorkingInstancesToFileQ()
Queries the user for a file to save instances as, then saves the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
-
saveInstancesToFile
public void saveInstancesToFile(AbstractFileSaver saver, Instances inst)
saves the data with the specified saver- Parameters:
saver- the saver to use for storing the datainst- the data to save
-
setInstancesFromFileQ
public void setInstancesFromFileQ()
Queries the user for a file to load instances from, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
-
setInstancesFromDBQ
public void setInstancesFromDBQ(java.lang.String url, java.lang.String user, java.lang.String pw, java.lang.String query)Loads (non-sparse) instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.- Parameters:
url- the database URLuser- the user to connect aspw- the password of the userquery- the query for retrieving instances from
-
setInstancesFromDBQ
public void setInstancesFromDBQ(java.lang.String url, java.lang.String user, java.lang.String pw, java.lang.String query, boolean sparse)Loads instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.- Parameters:
url- the database URLuser- the user to connect aspw- the password of the userquery- the query for retrieving instances fromsparse- whether to create sparse or non-sparse instances
-
setInstancesFromURLQ
public void setInstancesFromURLQ()
Queries the user for a URL to load instances from, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
-
generateInstances
public void generateInstances()
sets Instances generated via DataGenerators (pops up a Dialog)
-
setInstancesFromFile
public void setInstancesFromFile(AbstractFileLoader loader)
Loads results from a set of instances retrieved with the supplied loader. This is started in the IO thread, and a dialog is popped up if there's a problem.- Parameters:
loader- the loader to use
-
setInstancesFromDB
public void setInstancesFromDB(InstanceQuery iq)
Loads instances from a database- Parameters:
iq- the InstanceQuery object to load from (this is assumed to have been already connected to a valid database).
-
setInstancesFromURL
public void setInstancesFromURL(java.net.URL u)
Loads instances from a URL.- Parameters:
u- the URL to load from.
-
addUndoPoint
public void addUndoPoint() throws java.lang.ExceptionBacks up the current state of the dataset, so the changes can be undone.- Throws:
java.lang.Exception- if an error occurs
-
undo
public void undo()
Reverts to the last backed up version of the dataset.
-
edit
public void edit()
edits the current instances object in the viewer
-
setExplorer
public void setExplorer(Explorer parent)
Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)- Specified by:
setExplorerin interfaceExplorer.ExplorerPanel- Parameters:
parent- the parent frame
-
getExplorer
public Explorer getExplorer()
returns the parent Explorer frame- Specified by:
getExplorerin interfaceExplorer.ExplorerPanel- Returns:
- the parent
-
capabilitiesFilterChanged
public void capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
method gets called in case of a change event- Specified by:
capabilitiesFilterChangedin interfaceExplorer.CapabilitiesFilterChangeListener- Parameters:
e- the associated change event
-
getTabTitle
public java.lang.String getTabTitle()
Returns the title for the tab in the Explorer- Specified by:
getTabTitlein interfaceExplorer.ExplorerPanel- Returns:
- the title of this tab
-
getTabTitleToolTip
public java.lang.String getTabTitleToolTip()
Returns the tooltip for the tab in the Explorer- Specified by:
getTabTitleToolTipin interfaceExplorer.ExplorerPanel- Returns:
- the tooltip of this tab
-
getDefaultSettings
public Defaults getDefaultSettings()
Description copied from class:AbstractPerspectiveGet the default settings for this perspective (or null if there are none)- Specified by:
getDefaultSettingsin interfacePerspective- Overrides:
getDefaultSettingsin classAbstractPerspective- Returns:
- the default settings for this perspective, or null if the perspective does not have any settings
-
setActive
public void setActive(boolean active)
Description copied from class:AbstractPerspectiveSet active status of this perspective. True indicates that this perspective is the visible active perspective in the application- Specified by:
setActivein interfacePerspective- Overrides:
setActivein classAbstractPerspective- Parameters:
active- true if this perspective is the active one
-
settingsChanged
public void settingsChanged()
Description copied from class:AbstractPerspectiveCalled when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective- Specified by:
settingsChangedin interfacePerspective- Overrides:
settingsChangedin classAbstractPerspective
-
getMenus
public java.util.List<javax.swing.JMenu> getMenus()
Description copied from class:AbstractPerspectiveGet an ordered list of menus to appear in the main menu bar. Return null for no menus- Specified by:
getMenusin interfacePerspective- Overrides:
getMenusin classAbstractPerspective- Returns:
- a list of menus to appear in the main menu bar or null for no menus
-
main
public static void main(java.lang.String[] args)
Tests out the instance-preprocessing panel from the command line.- Parameters:
args- ignored
-
-