ix.iface.ui
Class JFrameMTP

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--ix.iface.ui.JFrameMT
                                      |
                                      +--ix.iface.ui.JFrameMTP
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants
Direct Known Subclasses:
DomainEditor

public class JFrameMTP
extends JFrameMT
implements java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.awt.event.ItemListener

A frame with a set of panels. Can make a default Windows and Styles menu (add to View menu?) Provides useful functions for filling a windows menu, adding panels. Keeps track of all known panels and styles and the current panel and style provides default functions for setPanelStyle, setCurrentPanel

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
protected  CardPanel cardsPanel
           
 boolean isAdjusting
          set when the panel is created so that change events can be ignored
 javax.swing.JMenu styleMenu
           
protected  javax.swing.JTabbedPane tabbedPane
           
 javax.swing.JMenu windowsMenu
           
 
Fields inherited from class ix.iface.ui.JFrameMT
aboutDialog, aboutItem, closeItem, copyIcon, copyItem, cutIcon, cutItem, editMenu, exitItem, fileMenu, helpIcon, helpItem, helpMenu, imageDir, JPanel2, mainJPanel, manualItem, menuBar, newIcon, newItem, openFileDialog, openIcon, openItem, optionsMenu, pasteIcon, pasteItem, revertIcon, revertItem, saveAsItem, saveFileDialog, saveIcon, saveItem, TB_HEIGHT, TBB_HEIGHT, TBB_WIDTH, TBB_Y, toolBar, toolsMenu, viewMenu
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, icon, ICONIFIED, mbManagement, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Window
inputContext, OPENED, ownedWindowList, state, warningString, windowListener
 
Fields inherited from class java.awt.Container
component, containerListener, layoutMgr, listeningBoundsChildren, listeningChildren, ncomponents
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JFrameMTP()
           
JFrameMTP(java.lang.String style)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Implements the ActionListener interface.
 void adaptDefaultMenuToolbar()
          Dummy method that can be overridden by sub-classes to adapt the default.
protected  void adaptMenusToPanel(javax.swing.JPanel panel)
           
 void addPanel(javax.swing.JPanel panel, java.lang.String name, java.lang.String tttext)
          Adds a panel to the set of panels that can be displayed.
protected  void changePanelStyle()
           
protected  boolean currentPanelChanging(javax.swing.JPanel oldPanel, javax.swing.JPanel newPanel)
          Changing current panel from old to new.
 void fillWindowsMenu()
          Makes a single-selection radio menu ("Windows") with the names of all panels.
 javax.swing.JPanel getACurrentPanel()
           
 javax.swing.JPanel getCurrentPanel()
           
protected  javax.swing.JPanel getNamedPanel(java.lang.String panelName)
           
 java.util.ArrayList getPanels()
           
 java.lang.String getPanelStyle()
           
 java.util.ArrayList getPanelStyles()
           
 void itemStateChanged(java.awt.event.ItemEvent event)
          Listens to changes in which panel is selected in the cardsPanel.
 void makeDefaultMenuToolbar()
          Makes a default menubar and toolbar.
 javax.swing.JMenu makeStyleMenuTool(javax.swing.JComponent parentMenu)
          Makes a default style menu (all known styles) and no toolbar buttons.
 javax.swing.JMenu makeWindowsMenuTool(javax.swing.JComponent parentMenu)
          Makes a default windows menu and no toolbar buttons.
 void removeAllPanels()
          Removes all panels from the frame.
 void setCurrentPanel(javax.swing.JPanel panel)
           
 void setPanelStyle(java.lang.String style)
           
 void setPanelStyles(java.util.ArrayList styles)
           
protected  void setWindowsMenuSelection(java.lang.String panelName)
           
 void stateChanged(javax.swing.event.ChangeEvent e)
          Listens to changes in which panel is selected in the TabbedPane
protected  boolean updateCurrentPanel(javax.swing.JPanel panel)
          Carry out updates when the panel has been changed in the window via tab or card selection.
protected  boolean updateCurrentPanel(java.lang.String panelName)
           
 
Methods inherited from class ix.iface.ui.JFrameMT
aboutDialog, exit, exitApplication, makeCheckMenuItem, makeEditMenuTool, makeFileMenuTool, makeFileMenuToolExits, makeFileMenuToolFiles, makeFrame, makeHelpMenuTool, makeMenu, makeMenuItem, makeMenuItem, makeMenuItem, makeMenuItem, makeMenuTool, makeMenuTool, makeMenuTool, makeMenuTool, makeMenuToolBars, makeMenuToolITxt, makeOptionsMenuTool, makeRadioMenuItem, makeToolbarButton, makeToolbarButton, makeToolbarButton, makeToolbarButton, makeToolsMenuTool, makeViewMenuTool, openFile, placeToolbarButton, saveFile, saveFileAs, toggleToolbar
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, postProcessKeyEvent, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paint, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

isAdjusting

public boolean isAdjusting
set when the panel is created so that change events can be ignored

tabbedPane

protected javax.swing.JTabbedPane tabbedPane

cardsPanel

protected CardPanel cardsPanel

windowsMenu

public javax.swing.JMenu windowsMenu

styleMenu

public javax.swing.JMenu styleMenu
Constructor Detail

JFrameMTP

public JFrameMTP()

JFrameMTP

public JFrameMTP(java.lang.String style)
Method Detail

getPanelStyle

public java.lang.String getPanelStyle()

setPanelStyle

public void setPanelStyle(java.lang.String style)

getPanelStyles

public java.util.ArrayList getPanelStyles()

setPanelStyles

public void setPanelStyles(java.util.ArrayList styles)

getPanels

public java.util.ArrayList getPanels()

getACurrentPanel

public javax.swing.JPanel getACurrentPanel()

getCurrentPanel

public javax.swing.JPanel getCurrentPanel()

setCurrentPanel

public void setCurrentPanel(javax.swing.JPanel panel)

updateCurrentPanel

protected boolean updateCurrentPanel(javax.swing.JPanel panel)
Carry out updates when the panel has been changed in the window via tab or card selection. The panel is already displayed in the window, update currentPanel and menus.
Returns:
true if there were changes to be made, false if not

updateCurrentPanel

protected boolean updateCurrentPanel(java.lang.String panelName)

currentPanelChanging

protected boolean currentPanelChanging(javax.swing.JPanel oldPanel,
                                       javax.swing.JPanel newPanel)
Changing current panel from old to new.
Returns:
true if the panels should really change, false if the old panel should remain.

adaptMenusToPanel

protected void adaptMenusToPanel(javax.swing.JPanel panel)

getNamedPanel

protected javax.swing.JPanel getNamedPanel(java.lang.String panelName)

setWindowsMenuSelection

protected void setWindowsMenuSelection(java.lang.String panelName)

addPanel

public void addPanel(javax.swing.JPanel panel,
                     java.lang.String name,
                     java.lang.String tttext)
Adds a panel to the set of panels that can be displayed. Sets the given parameters in the panel and adds the panel to the panel list.

NOTE: ensure that the panel names are unique!

Parameters:
panel - the panel to be added
name - a string to be used as the panel's identifyier for the user
tttext - the tool tip text to use for the panel

removeAllPanels

public void removeAllPanels()
Removes all panels from the frame.

makeDefaultMenuToolbar

public void makeDefaultMenuToolbar()
Makes a default menubar and toolbar. Menus: File, Edit, View (Style, Windows), Help
Overrides:
makeDefaultMenuToolbar in class JFrameMT

adaptDefaultMenuToolbar

public void adaptDefaultMenuToolbar()
Dummy method that can be overridden by sub-classes to adapt the default.

makeWindowsMenuTool

public javax.swing.JMenu makeWindowsMenuTool(javax.swing.JComponent parentMenu)
Makes a default windows menu and no toolbar buttons. Makes a single-selection radio menu ("Windows") with the names of all panels.

makeStyleMenuTool

public javax.swing.JMenu makeStyleMenuTool(javax.swing.JComponent parentMenu)
Makes a default style menu (all known styles) and no toolbar buttons. Currently, known styles are "simple", "tabbed", "card"

fillWindowsMenu

public void fillWindowsMenu()
Makes a single-selection radio menu ("Windows") with the names of all panels.

changePanelStyle

protected void changePanelStyle()

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent event)
Listens to changes in which panel is selected in the cardsPanel. Updates the selection in the Windows menu (if there is one). Note: the card panel will have displayed the panel already.
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Listens to changes in which panel is selected in the TabbedPane
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Implements the ActionListener interface. First passes the event to the current DomainEditorPanel to see if it can process it. If the panel does not recognise the event, this tries to do the processing itself. If this cannot recognise the event either, this passes it to its superclass (JFrameMT).
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class JFrameMT