IcanGui
Class GuiIcanDataReaction

java.lang.Object
  extended by IcanGui.GuiHierarchy
      extended by IcanGui.GuiWindow
          extended by IcanGui.GuiIcanDataReaction
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.util.EventListener

public class GuiIcanDataReaction
extends GuiWindow
implements java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.FocusListener

Encapsulate the behavior of GUI for ICAN/JAVA data entry of Reaction data.

Since:
1.0;
Version:
1.1.6;
Updated by Louis Handler on Dec 28, 2005, 13:08 EST (1.1.6).
Updated by Louis Handler on Aug 27, 2002, 10:09 EDT.
Updated by Louis Handler on Aug 27, 2002, 09:34 EDT.
Updated by Louis Handler on Aug 26, 2002, 10:52 EDT.
Updated by Louis Handler on Aug 26, 2002, 09:29 EDT.
Updated by Louis Handler on May 16, 2000, 13:38 EDT.
Updated by Louis Handler on Mar 28, 2000, 12:49 EST.
Updated by Louis Handler on Feb 25, 2000, 08:25 EST.
Updated by Louis Handler on Dec 3, 1999, 11:45 EST.
Updated by Louis Handler on Mar 23, 1999, 12:48 EST.
Updated by Louis Handler on Nov 23, 1998, 10:36 EST.
Updated by Louis Handler on Nov 6, 1998, 08:47 EST.
Updated by Louis Handler on Oct 20, 1998, 10:28 EDT.
Updated by Louis Handler on Aug 27, 1998, 10:03 EDT.
Updated by Louis Handler on Aug 14, 1998, 15:35 EDT.
Updated by Matthew Der on Jun 24, 1998.
Updated by Louis Handler on Jun 18, 1998.
Author:
Louis Handler
See Also:
GuiWindow

Nested Class Summary
(package private)  class GuiIcanDataReaction.Madapter
          Mouse Adapter Inner Class
 
Field Summary
private static java.lang.String[] buttonLabels
          Labels to display on action buttons.
private  java.awt.Button[] buttons
          Action buttons.
private  IcanDataSet data
          ICAN/JAVA data set.
private  double[][] dblReactionVar
          Values in Reaction data table.
private static java.lang.String[][] fieldTitles
          Titles for both Labels and TextFields in Reaction data table.
private  boolean firstRun
          Variable to test for the first time the frame is displayed.
private  java.awt.GridBagConstraints gbc
          GridBag Layout constraints.
private  java.awt.GridBagLayout gbl
          GridBag Layout manager.
private static int iAccept
          Accept Button will verify the data and complete the processing of Reaction data.
private static int iCancel
          Cancel Button will exit this screen discarding any data entered.
private static int iClear
          Clear Button will clear data entry fields.
private static int iExit
          Exit Button will exit the entire program.
private  int iFocusl
          The Index of the TextField with Focus, corresponding to Reaction data item.
private  int iFocusw
          The Index of the TextField with Focus, corresponding to composite pair number.
private static int iHelp
          Help Button will display a set of information.
private  int iLbl
          Counter/subscript for adding individual Labels into lblData[iLbl] array.
private  java.awt.Label[] labelFiber
          Label containing Fiber or Particle for each material pair.
private  java.awt.Label[] labelMatrix
          Label containing Matrix or Binder for each material pair.
private  java.awt.Label[] lblData
          Array of Labels, saved for removal later.
private static int locReaction
          Subscript of Reaction variable reaction (volume fraction of reaction between fiber and matrix).
private  java.lang.String[][] materialPairs
          Values of Fiber or Particle and Matrix or Binder for each Pair.
private  int maxLbl
          Size to initialize lblData[maxLbl] to.
private  GuiIcanDataReaction.Madapter myMadapter
          Mouse Adapter to handle mouse entering the window for the first time and right clicks.
private static int nButtons
          Number of action buttons.
private  int nPairs
          Number of Pairs in Reaction data table.
private static int nReactionVar
          Number of material pair associated variables.
private static int nTitleLines
          Number of lines of titles for Labels and TextFields in Reaction data table.
private static int nTitles
          Number of titles for both Labels and TextFields in Reaction data table.
private  java.awt.Panel panelFrame
          The Panel that contains the data to be displayed within a scrolling frame.
private  java.awt.Panel panelUser
          Panel containing user's Reaction data table.
private  java.awt.TextField[][] reactionVar
          TextFields in which to enter Reaction data.
private  java.awt.Component saveCompFocus
          Component to set focus to.
private  java.awt.ScrollPane scrollFrame
          The scrolling frame in which the data is displayed.
private  java.awt.Label theTitle
          Label containing the description/title of the ICAN/JAVA run.
 
Fields inherited from class IcanGui.GuiWindow
frameTitle, whatAmI, windowFrame
 
Fields inherited from class IcanGui.GuiHierarchy
IDO_ICAN_DATA, IDO_ICAN_DATA_BOOLEANS, IDO_ICAN_DATA_DAMPING, IDO_ICAN_DATA_IMPACT, IDO_ICAN_DATA_LOADS, IDO_ICAN_DATA_MATERIAL, IDO_ICAN_DATA_OUTPUTS, IDO_ICAN_DATA_PLOT_IMPACT, IDO_ICAN_DATA_PLOTPL, IDO_ICAN_DATA_PLY, IDO_ICAN_DATA_PROCESS, IDO_ICAN_DATA_REACTION, IDO_ICAN_DATA_SLICE, IDO_ICAN_DATA_SLICE_TABLE, IDO_ICAN_DATA_VVI, IDO_ICAN_DATA_VVR, IDO_ICAN_ELECTRICAL_CYCLIC_LOADS, IDO_ICAN_ELECTRICAL_STATIC_LOADS, IDO_ICAN_EXPERT, IDO_ICAN_HYGRAL_CYCLIC_LOADS, IDO_ICAN_HYGRAL_STATIC_LOADS, IDO_ICAN_MECH_CYCLIC_LOADS, IDO_ICAN_MECH_STATIC_DISPLACEMENTS, IDO_ICAN_MECH_STATIC_LOADS, IDO_ICAN_MORE_LOADS, IDO_ICAN_PROMPT, IDO_ICAN_RATE_LOADS, IDO_ICAN_THERMAL_CYCLIC_LOADS, IDO_ICAN_THERMAL_STATIC_LOADS, IDO_MAIN, IDO_MDB_DATA_MFIM, IDO_MDB_DATA_START, IDO_MDB_PROMPT, IDO_MSG_DATA, NDO
 
Constructor Summary
GuiIcanDataReaction()
          Constructor creates window to display buttons and text entry fields.
 
Method Summary
private  boolean acceptReaction()
          Check whether Reaction data is valid.
 void actionPerformed(java.awt.event.ActionEvent evt)
          Detect Action Events and process accordingly.
private  void addIcanDataUser()
          Add a set of Reaction input data per material pair.
 void changeGuiUnits()
          Change units on GUI for this class.
 void focusGained(java.awt.event.FocusEvent evt)
          Detects When the Focus is Gained in a TextField
 void focusLost(java.awt.event.FocusEvent evt)
          Does Nothing
private  boolean getMaterialPairs()
          Fill in the table of fiber/matrix and/or particle/binder material pairs used.
 java.lang.String getName()
          Get class name.
 int getNumberOfPairs()
          Get number of pairs o fiber and matrix, or particle and binder, in Reaction data table.
 void helpMe()
          Display help message.
 void helpMe(java.awt.Component target)
          Display help message for a specified component.
protected  void initMe()
          Create window to display buttons and text entry fields.
 void keyPressed(java.awt.event.KeyEvent evt)
          Makes sure that keys are not processed twice.
 void keyReleased(java.awt.event.KeyEvent evt)
          Detects when the following keys are released Tab, up arrow, down arrow, enter, shift+tab, alt+right, alt+left, F1
 void keyTyped(java.awt.event.KeyEvent evt)
          Does Nothing
 void presetData()
          Set title and other ICAN/JAVA data.
 void remove()
          Dispose of any components required before disposing of parent.
private  void setClearData()
          Clear text data entry fields.
 void setCompFocus()
          Set focus to some component.
 void setCompFocus(java.awt.Component cFocus)
          Set focus in current class/frame.
 
Methods inherited from class IcanGui.GuiWindow
addGB, askExit, askQuestion, showMessageInfo
 
Methods inherited from class IcanGui.GuiHierarchy
changeAllGuiUnits, exitGui, getCurrent, getFrame, getFrame, getGuiWindowClass, getGuiWindowClass, hideMe, initHierarchy, setCurrent, setNextUp, showMe
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

data

private IcanDataSet data
ICAN/JAVA data set.


panelUser

private java.awt.Panel panelUser
Panel containing user's Reaction data table.


gbl

private java.awt.GridBagLayout gbl
GridBag Layout manager.


gbc

private java.awt.GridBagConstraints gbc
GridBag Layout constraints.


theTitle

private java.awt.Label theTitle
Label containing the description/title of the ICAN/JAVA run.


reactionVar

private java.awt.TextField[][] reactionVar
TextFields in which to enter Reaction data. The reaction data is comprised of:
  1. Reaction - volume fraction of reaction between fiber and matrix, or particle and binder, of fiber or particle volume.


dblReactionVar

private double[][] dblReactionVar
Values in Reaction data table. The reaction data is comprised of:
  1. Reaction - volume fraction of reaction between fiber and matrix, or particle and binder, of fiber or particle volume.
The specified values are considered to be constant for each material pair.


locReaction

private static final int locReaction
Subscript of Reaction variable reaction (volume fraction of reaction between fiber and matrix).

See Also:
Constant Field Values

nReactionVar

private static final int nReactionVar
Number of material pair associated variables.

See Also:
Constant Field Values

fieldTitles

private static final java.lang.String[][] fieldTitles
Titles for both Labels and TextFields in Reaction data table.


nTitles

private static final int nTitles
Number of titles for both Labels and TextFields in Reaction data table.


nTitleLines

private static final int nTitleLines
Number of lines of titles for Labels and TextFields in Reaction data table.

See Also:
Constant Field Values

nPairs

private int nPairs
Number of Pairs in Reaction data table.


materialPairs

private java.lang.String[][] materialPairs
Values of Fiber or Particle and Matrix or Binder for each Pair.


labelFiber

private java.awt.Label[] labelFiber
Label containing Fiber or Particle for each material pair.


labelMatrix

private java.awt.Label[] labelMatrix
Label containing Matrix or Binder for each material pair.


lblData

private java.awt.Label[] lblData
Array of Labels, saved for removal later.


maxLbl

private int maxLbl
Size to initialize lblData[maxLbl] to.


iLbl

private int iLbl
Counter/subscript for adding individual Labels into lblData[iLbl] array.


iAccept

private static final int iAccept
Accept Button will verify the data and complete the processing of Reaction data.

See Also:
Constant Field Values

iCancel

private static final int iCancel
Cancel Button will exit this screen discarding any data entered.

See Also:
Constant Field Values

iClear

private static final int iClear
Clear Button will clear data entry fields.

See Also:
Constant Field Values

iExit

private static final int iExit
Exit Button will exit the entire program. To exit just this screen, see Accept or Cancel.

See Also:
Constant Field Values

iHelp

private static final int iHelp
Help Button will display a set of information.

See Also:
Constant Field Values

buttonLabels

private static final java.lang.String[] buttonLabels
Labels to display on action buttons.


nButtons

private static final int nButtons
Number of action buttons.


buttons

private java.awt.Button[] buttons
Action buttons.


scrollFrame

private java.awt.ScrollPane scrollFrame
The scrolling frame in which the data is displayed.


panelFrame

private java.awt.Panel panelFrame
The Panel that contains the data to be displayed within a scrolling frame.


myMadapter

private GuiIcanDataReaction.Madapter myMadapter
Mouse Adapter to handle mouse entering the window for the first time and right clicks.


firstRun

private boolean firstRun
Variable to test for the first time the frame is displayed. Used to set focus on entry.


saveCompFocus

private java.awt.Component saveCompFocus
Component to set focus to.


iFocusl

private int iFocusl
The Index of the TextField with Focus, corresponding to Reaction data item.


iFocusw

private int iFocusw
The Index of the TextField with Focus, corresponding to composite pair number.

Constructor Detail

GuiIcanDataReaction

public GuiIcanDataReaction()
Constructor creates window to display buttons and text entry fields.

Method Detail

initMe

protected void initMe()
Create window to display buttons and text entry fields.

Specified by:
initMe in class GuiWindow

getMaterialPairs

private boolean getMaterialPairs()
Fill in the table of fiber/matrix and/or particle/binder material pairs used.

Returns:
True, if any material pairs are available for computation; else, false.

getNumberOfPairs

public int getNumberOfPairs()
Get number of pairs o fiber and matrix, or particle and binder, in Reaction data table.


addIcanDataUser

private void addIcanDataUser()
Add a set of Reaction input data per material pair.


remove

public void remove()
Dispose of any components required before disposing of parent.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Detect Action Events and process accordingly.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
evt - Action event.

focusLost

public void focusLost(java.awt.event.FocusEvent evt)
Does Nothing

Specified by:
focusLost in interface java.awt.event.FocusListener
Parameters:
evt - Focus event.

focusGained

public void focusGained(java.awt.event.FocusEvent evt)
Detects When the Focus is Gained in a TextField

Specified by:
focusGained in interface java.awt.event.FocusListener
Parameters:
evt - Focus event.

keyPressed

public void keyPressed(java.awt.event.KeyEvent evt)
Makes sure that keys are not processed twice.

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
evt - Key event.

keyTyped

public void keyTyped(java.awt.event.KeyEvent evt)
Does Nothing

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
evt - Key event.

keyReleased

public void keyReleased(java.awt.event.KeyEvent evt)
Detects when the following keys are released Tab, up arrow, down arrow, enter, shift+tab, alt+right, alt+left, F1

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
evt - Key event.

helpMe

public void helpMe()
Display help message.


helpMe

public void helpMe(java.awt.Component target)
Display help message for a specified component.

Specified by:
helpMe in class GuiWindow
Parameters:
target - Component for which help is desired.

setClearData

private void setClearData()
Clear text data entry fields.


presetData

public void presetData()
Set title and other ICAN/JAVA data. If ICAN/JAVA data initialized, use it to initialize the Reaction inputs.

Specified by:
presetData in class GuiWindow

setCompFocus

public void setCompFocus()
Set focus to some component. Normally used when entering this screen after show().

Specified by:
setCompFocus in class GuiHierarchy

setCompFocus

public void setCompFocus(java.awt.Component cFocus)
Set focus in current class/frame.

Specified by:
setCompFocus in class GuiHierarchy
Parameters:
cFocus - Component to save to reset later.

acceptReaction

private boolean acceptReaction()
Check whether Reaction data is valid.

Returns:
True, if Reaction data is valid; else, false.

changeGuiUnits

public void changeGuiUnits()
Change units on GUI for this class. Invoked when user changes units.

Specified by:
changeGuiUnits in class GuiWindow

getName

public java.lang.String getName()
Get class name.

Specified by:
getName in class GuiWindow
Returns:
Class name.