Class EditorTab

  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer,, javax.accessibility.Accessible, TransferComponent, EventObserver, Tabbable

public class EditorTab
extends javax.swing.JPanel
implements Tabbable, EventObserver, TransferComponent

EditorTab is the bytecode editor. The editor itself is a JList with a custom renderer.

Sami Koivu
See Also:
Serialized Form

Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
Field Summary
Fields inherited from class javax.swing.JComponent
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
Method Summary
 void enteringTab()
          Called whenever the user navigates to this tab.
 void find()
          Search within the tab.
 void findNext()
          Continue search within tab.
 java.lang.String getSelectionHTML()
 java.lang.Object getSelectionObject()
 java.lang.String getSelectionPlainText()
 java.lang.String getTabTitle()
          Returns the title of the tab.
 void goTo(Link link)
          Navigate to the location pointed by the given Link object.
 void insert()
          Insert a new entity on this tab.
 void insert(boolean before)
 void insertInstruction()
 void leavingTab()
          Called whenever the user navigates away from this tab.
 void outline()
          Do a quick outline of the tab elements.
 void pasteRows(java.lang.Object data)
          Called by transfer handler to imply that the user has requested that code be pasted into the editor.
 void processEvent(Event event)
 void redo()
 void remove()
          Remove selected entry(entries) from this tab.
 void setExecutionRow(java.lang.String methodName, Descriptor desc, java.lang.Integer pc)
 void setSplitSynchronizer(BytecodeSplitSynchronizer sync)
 void undo()
          TODO: Why is undo/redo on this level?
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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public EditorTab()
Method Detail


public void processEvent(Event event)
Specified by:
processEvent in interface EventObserver


public void redo()
Specified by:
redo in interface Tabbable


public void undo()
Description copied from interface: Tabbable
TODO: Why is undo/redo on this level? Should "remove file from project" be in the same UNDO context as remove instruction from class+

Specified by:
undo in interface Tabbable


public void insert()
Description copied from interface: Tabbable
Insert a new entity on this tab. Be that a file into the project(Fileset tab), a constant pool entry(ConstantPool etc) etc.

Specified by:
insert in interface Tabbable


public void goTo(Link link)
Description copied from interface: Tabbable
Navigate to the location pointed by the given Link object.

Specified by:
goTo in interface Tabbable
link - A pointer object referencing for example a particular method, or instruction.


public void insertInstruction()


public void insert(boolean before)


public void remove()
Description copied from interface: Tabbable
Remove selected entry(entries) from this tab.

Specified by:
remove in interface Tabbable


public void find()
Description copied from interface: Tabbable
Search within the tab. For example, within a file set tab, search for a given file.

Specified by:
find in interface Tabbable


public void findNext()
Description copied from interface: Tabbable
Continue search within tab.

Specified by:
findNext in interface Tabbable


public java.lang.String getSelectionPlainText()
Specified by:
getSelectionPlainText in interface TransferComponent


public java.lang.String getSelectionHTML()
Specified by:
getSelectionHTML in interface TransferComponent


public java.lang.Object getSelectionObject()
Specified by:
getSelectionObject in interface TransferComponent


public void pasteRows(java.lang.Object data)
Description copied from interface: TransferComponent
Called by transfer handler to imply that the user has requested that code be pasted into the editor. The data in the object is either a List of TransferrableMethod and/or TransferrableField objects, or a Code object.

Specified by:
pasteRows in interface TransferComponent


public void setExecutionRow(java.lang.String methodName,
                            Descriptor desc,
                            java.lang.Integer pc)


public void outline()
Description copied from interface: Tabbable
Do a quick outline of the tab elements.

Specified by:
outline in interface Tabbable


public void leavingTab()
Description copied from interface: Tabbable
Called whenever the user navigates away from this tab.

Specified by:
leavingTab in interface Tabbable


public void setSplitSynchronizer(BytecodeSplitSynchronizer sync)


public java.lang.String getTabTitle()
Description copied from interface: Tabbable
Returns the title of the tab.

Specified by:
getTabTitle in interface Tabbable
a title to be displayed in the tabbed pane.


public void enteringTab()
Description copied from interface: Tabbable
Called whenever the user navigates to this tab.

Specified by:
enteringTab in interface Tabbable