cayleytable
Class groupMainFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by cayleytable.groupMainFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class groupMainFrame
extends javax.swing.JFrame

Main Frame of Cayley table viewer for use when tool is run as a standlone program. See groupMain for identical version in applet format. User inteface that contains groupPanel that displays Cayley Table and buttons to generate and analyze a Cayley Table.

Author:
Jeffrey Barr
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  boolean blnGroupCreated
          Boolean variable used by createDefinedRelationshipGroup, createXProdGroup, and createZnGroup methods to identify if a new group was successfully created.
private  javax.swing.JButton btnCheckAbel
          JButton object to launch checkIfAbel method.
private  javax.swing.JButton btnCheckGroup
          JButton object to launch checkIfGroup method.
private  javax.swing.JButton btnCheckName
          JButton object to launch findGroupName method.
private  javax.swing.JButton btnDefRelnGroup
          JButton object to launch createDefinedRelationshipGroup method.
private  javax.swing.JButton btnInnerAut
          JButton object to launch createInnerAutGroup method.
private  javax.swing.JButton btnUserDefinedGroup
          JButton object to launch createUserEntryGroup method.
private  javax.swing.JButton btnXProdGroup
          JButton object to launch createXProdGroup method.
private  javax.swing.JButton btnZnGroup
          JButton object to launch createZnGroup method.
private  groupIdentify groupNamer
          groupIdentify object called to determine the name of the current group that is stored in myCreator groupCreator object and displayed in myGroup groupPanel object.
private  javax.swing.JLabel lblGeneratorButtons
          JLabel that describes functionality of btnDefRelnGroup, btnUserDefinedGroup, btnXProdGroup, and btnZnGroup.
private  javax.swing.JLabel lblGroupName
          JLabel used to display results of findGroupName method with the current name of the group displayed in myGroup groupPanel object.
private  javax.swing.JLabel lblPropertyButtons
          JLabel that describes functionality of btnCheckGroup, btnCheckAbel, btnCheckName, and btnInnerAut.
private  javax.swing.JLabel lblResultsOfAnalysis
          JLabel used to display results of checkGroup, checkAbel and createInnerAutGroup methods with respect to the current group displayed in myGroup groupPanel object.
private  groupCreator myCreator
          groupCreator object used to create and store group via the createDefinedRelationshipGroup, createUserEntryGroup, createXProdGroup, createZnGroup, and createInnerAutGroup methods.
private  groupPanel myGroup
          groupPanel object used for displaying the Cayley Table that it is passed via a groupMatrix object.
 
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, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
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
groupMainFrame()
          Initializes the Frame groupMainFrame through call to initialize all of the components in the Frame.
 
Method Summary
private  void checkIfAbelian(java.awt.event.ActionEvent evt)
          Method to determine if the table stored in the myCreator groupCreator object is an Abelian group using the analysis functions that are a part of groupMatrix and displays the results on lblResultsOfAnalysis JLabel object.
private  void checkIfGroup(java.awt.event.ActionEvent evt)
          Method to determine if the table stored in the myCreator groupCreator object is a group using the analysis functions that are a part of groupMatrix and displays the results on lblResultsOfAnalysis JLabel object.
private  void createDefinedRelationshipGroup(java.awt.event.ActionEvent evt)
          Method to create the groups based upon a defined relationship calls the groupCreator object functionality to create and store the group.
private  void createInnerAutGroup(java.awt.event.ActionEvent evt)
          Method to call functionality in groupCreator to create the inner automorphism of the current group currently stored in myCreator groupMatrix object.
private  boolean createNextCyclicGroup()
          Method used to create the actual cyclic group that is used by the createZnGroup and createXProdGroup methods.
private  void createUserEntryGroup(java.awt.event.ActionEvent evt)
          Method to allow user to enter group of defined order calls the groupCreator object functionality to create and store the group.
private  void createXProdGroup(java.awt.event.ActionEvent evt)
          Method to create the groups based upon a cross product of at least two other groups calls the groupCreator object functionality to create and store the group.
private  void createZnGroup(java.awt.event.ActionEvent evt)
          Method to create a cyclic group of a user defined size calls the groupCreator object functionality to create and store the group.
private  int factorial(int n)
          Method to calculate the factorial of an integer
private  void findGroupName(java.awt.event.ActionEvent evt)
          Method to name the group stored in myCreator groupCreator object with the groupNamer groupIdentify object and displays the results on lblGroupName JLabel object.
private  java.lang.String getNextRelationship(int a, int b)
          Method used to request the "pseudo" commutative defined relationships from the user for use in the createDefinedRelationshipGroup method.
private  void initComponents()
          This method is called from within the groupMainFrame()method to initialize the form.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
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

btnCheckAbel

private javax.swing.JButton btnCheckAbel
JButton object to launch checkIfAbel method.


btnCheckGroup

private javax.swing.JButton btnCheckGroup
JButton object to launch checkIfGroup method.


btnCheckName

private javax.swing.JButton btnCheckName
JButton object to launch findGroupName method.


btnDefRelnGroup

private javax.swing.JButton btnDefRelnGroup
JButton object to launch createDefinedRelationshipGroup method.


btnInnerAut

private javax.swing.JButton btnInnerAut
JButton object to launch createInnerAutGroup method.


btnUserDefinedGroup

private javax.swing.JButton btnUserDefinedGroup
JButton object to launch createUserEntryGroup method.


btnXProdGroup

private javax.swing.JButton btnXProdGroup
JButton object to launch createXProdGroup method.


btnZnGroup

private javax.swing.JButton btnZnGroup
JButton object to launch createZnGroup method.


groupNamer

private groupIdentify groupNamer
groupIdentify object called to determine the name of the current group that is stored in myCreator groupCreator object and displayed in myGroup groupPanel object.


lblGeneratorButtons

private javax.swing.JLabel lblGeneratorButtons
JLabel that describes functionality of btnDefRelnGroup, btnUserDefinedGroup, btnXProdGroup, and btnZnGroup.


lblGroupName

private javax.swing.JLabel lblGroupName
JLabel used to display results of findGroupName method with the current name of the group displayed in myGroup groupPanel object.


lblPropertyButtons

private javax.swing.JLabel lblPropertyButtons
JLabel that describes functionality of btnCheckGroup, btnCheckAbel, btnCheckName, and btnInnerAut.


lblResultsOfAnalysis

private javax.swing.JLabel lblResultsOfAnalysis
JLabel used to display results of checkGroup, checkAbel and createInnerAutGroup methods with respect to the current group displayed in myGroup groupPanel object.


myCreator

private groupCreator myCreator
groupCreator object used to create and store group via the createDefinedRelationshipGroup, createUserEntryGroup, createXProdGroup, createZnGroup, and createInnerAutGroup methods. Also, stores group that is analyzed via the checkIfGroup and checkIfAbelian methods. This is the group that is also sent to the myGroup groupPanel object and the groupNamer groupIdentify object for use in displaying the Cayley Table and finding the name of the group via the findGroupName method.


myGroup

private groupPanel myGroup
groupPanel object used for displaying the Cayley Table that it is passed via a groupMatrix object.


blnGroupCreated

private boolean blnGroupCreated
Boolean variable used by createDefinedRelationshipGroup, createXProdGroup, and createZnGroup methods to identify if a new group was successfully created.

Constructor Detail

groupMainFrame

public groupMainFrame()
Initializes the Frame groupMainFrame through call to initialize all of the components in the Frame.

Method Detail

initComponents

private void initComponents()
This method is called from within the groupMainFrame()method to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor. Code generated via Netbeans.


createDefinedRelationshipGroup

private void createDefinedRelationshipGroup(java.awt.event.ActionEvent evt)
Method to create the groups based upon a defined relationship calls the groupCreator object functionality to create and store the group. The group is named by groupNamer groupIdentify object after creation.

Parameters:
evt - Launched by the push of btnDefRelnGroup.

createUserEntryGroup

private void createUserEntryGroup(java.awt.event.ActionEvent evt)
Method to allow user to enter group of defined order calls the groupCreator object functionality to create and store the group.

Parameters:
evt - Launched by the push of btnUserDefinedGroup.

createXProdGroup

private void createXProdGroup(java.awt.event.ActionEvent evt)
Method to create the groups based upon a cross product of at least two other groups calls the groupCreator object functionality to create and store the group. The group is named by groupNamer groupIdentify object after creation.

Parameters:
evt - Launched by the push of btnXProdGroup.

createZnGroup

private void createZnGroup(java.awt.event.ActionEvent evt)
Method to create a cyclic group of a user defined size calls the groupCreator object functionality to create and store the group. The group is named by groupNamer groupIdentify object after creation.

Parameters:
evt - Launched by the push of btnZnGroup.

createInnerAutGroup

private void createInnerAutGroup(java.awt.event.ActionEvent evt)
Method to call functionality in groupCreator to create the inner automorphism of the current group currently stored in myCreator groupMatrix object. The group replaces what is stored in myGroup groupCreator object and named by groupIdentify after creation.

Parameters:
evt - Launched by the push of btnInnerAut.

findGroupName

private void findGroupName(java.awt.event.ActionEvent evt)
Method to name the group stored in myCreator groupCreator object with the groupNamer groupIdentify object and displays the results on lblGroupName JLabel object.

Parameters:
evt - Launched by the push of btnCheckName.

checkIfAbelian

private void checkIfAbelian(java.awt.event.ActionEvent evt)
Method to determine if the table stored in the myCreator groupCreator object is an Abelian group using the analysis functions that are a part of groupMatrix and displays the results on lblResultsOfAnalysis JLabel object.

Parameters:
evt - Launched by the push of btnCheckAbel.

checkIfGroup

private void checkIfGroup(java.awt.event.ActionEvent evt)
Method to determine if the table stored in the myCreator groupCreator object is a group using the analysis functions that are a part of groupMatrix and displays the results on lblResultsOfAnalysis JLabel object.

Parameters:
evt - Launched by the push of btnCheckGroup.

getNextRelationship

private java.lang.String getNextRelationship(int a,
                                             int b)
Method used to request the "pseudo" commutative defined relationships from the user for use in the createDefinedRelationshipGroup method.

Parameters:
a - Value representing one subgroup in relationship ba=?? where ?? is the new relationship.
b - Value representing second subgroup in relationship ba=?? where ?? is the new relationship.
Returns:
String object containing the right hand side of the "pseudo" commutative relationship

createNextCyclicGroup

private boolean createNextCyclicGroup()
Method used to create the actual cyclic group that is used by the createZnGroup and createXProdGroup methods.

Returns:
Result identifying if a new Cyclic group was successfully created.

factorial

private int factorial(int n)
Method to calculate the factorial of an integer

Parameters:
n - Integer for which the factorial is calculated
Returns:
Factorial of n