IcanGui
Class GuiIcanDataDamping

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

public class GuiIcanDataDamping
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 Damping data.

Since:
1.0;
Version:
1.1.6;
Updated by Louis Handler on Dec 28, 2005, 13:07 EST (1.1.6).
Updated by Louis Handler on Jun 8, 2005, 10:25 EDT (1.1.5).
Updated by Louis Handler on Apr 4, 2005, 09:19 EDT (1.1.0).
Updated by Louis Handler on Aug 27, 2002, 09:58 EDT.
Updated by Louis Handler on Aug 27, 2002, 09:48 EDT.
Updated by Louis Handler on Aug 27, 2002, 09:29 EDT.
Updated by Louis Handler on Aug 26, 2002, 09:17 EDT.
Updated by Louis Handler on Jun 12, 2000, 11:49 EDT.
Updated by Louis Handler on Mar 28, 2000, 12:44 EST.
Updated by Louis Handler on Feb 25, 2000, 08:16 EST.
Updated by Louis Handler on Nov 16, 1999, 15:24 EST.
Updated by Louis Handler on Mar 19, 1999, 15:04 EST.
Updated by Louis Handler on Nov 23, 1998, 10:34 EST.
Updated by Louis Handler on Nov 6, 1998, 08:12 EST.
Updated by Louis Handler on Aug 27, 1998, 09:54 EDT.
Updated by Louis Handler on Aug 14, 1998, 15:17 EDT.
Updated by Matthew Der on Jul 10, 1998.
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 GuiIcanDataDamping.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  java.awt.TextField[][] dampingVar
          TextFields in which to enter Damping data.
private  IcanDataSet data
          ICAN/JAVA data set.
private  double[][] dblDampingVar
          Values in Damping data table.
private static java.lang.String[][] fieldTitles
          Titles for both Labels and TextFields in Damping 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 Damping 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 height Index of the TextField with Focus.
private  int iFocusw
          The width Index of the TextField with Focus.
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[] labelCum
          Label containing Ply center positions for each Ply.
private  java.awt.Label[] labelPly
          Label containing Ply ID number for each Ply.
private  java.awt.Label[] labelThick
          Label containing Ply thickness for each Ply.
private  java.awt.Label[] lblData
          Array of Labels, saved for removal later.
private static int locDampingMu
          Subscript of Damping variable mu (Coefficient of friction between fiber and matrix).
private static int locDampingNfb
          Subscript of Damping variable Nfb (Number of broken fibers through the Ply thickness).
private static int locDampingOmega
          Subscript of Damping variable omega (Forcing angular velocity).
private  int maxLbl
          Size to initialize lblData[maxLbl] to.
private  GuiIcanDataDamping.Madapter myMadapter
          Mouse Adapter to handle mouse entering window for the first time and right clicks.
private static int nButtons
          Number of action buttons.
private static int nDampingVar
          Number of different kinds of Damping variables in user's Damping data table.
private  int nPlys
          Number of Plys in Damping data table.
private static int nTitles
          Number of titles for both Labels and TextFields in Damping 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 Damping data table.
private  double[] plyThickness
          Values of Ply thickness for each Ply.
private  double[] plyThicknessCum
          Values of Ply center positions for each Ply.
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
GuiIcanDataDamping()
          Constructor creates window to display buttons and text entry fields.
 
Method Summary
private  boolean acceptDamping()
          Check whether Damping data is valid.
 void actionPerformed(java.awt.event.ActionEvent evt)
          Detect Action Events and process accordingly
private  void addIcanDataUser()
          Add a set of Damping input data per ply.
 void changeGuiUnits()
          Change units on GUI for this class.
 void focusGained(java.awt.event.FocusEvent evt)
          Find The TextField with Focus if Focus Is Gained
 void focusLost(java.awt.event.FocusEvent evt)
          Does Nothing
private  DampingDataItem getDampingData()
          Get Damping data.
 java.lang.String getName()
          Get class name.
private  boolean getPlyThickness()
          Fill in table of Ply thicknesses and Ply center locations and total the Ply thicknesses.
 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 saveData()
          Save Damping data if changed.
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 Damping 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.


dampingVar

private java.awt.TextField[][] dampingVar
TextFields in which to enter Damping data. The damping data is comprised of:
  1. mu - Coefficient of friction between fiber and matrix.
  2. Nfb - Number of broken fibers through the Ply thickness.
  3. omega - Forcing angular velocity.


dblDampingVar

private double[][] dblDampingVar
Values in Damping data table. The damping data is comprised of:
  1. mu - Coefficient of friction between fiber and matrix.
  2. Nfb - Number of broken fibers through the Ply thickness.
  3. omega - Forcing angular velocity.
The specified values are considered to be constant for each ply.


locDampingMu

private static final int locDampingMu
Subscript of Damping variable mu (Coefficient of friction between fiber and matrix).

See Also:
Constant Field Values

locDampingNfb

private static final int locDampingNfb
Subscript of Damping variable Nfb (Number of broken fibers through the Ply thickness).

See Also:
Constant Field Values

locDampingOmega

private static final int locDampingOmega
Subscript of Damping variable omega (Forcing angular velocity).

See Also:
Constant Field Values

nDampingVar

private static final int nDampingVar
Number of different kinds of Damping variables in user's Damping data table.

See Also:
Constant Field Values

fieldTitles

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


nTitles

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


nPlys

private int nPlys
Number of Plys in Damping data table.


plyThickness

private double[] plyThickness
Values of Ply thickness for each Ply.


plyThicknessCum

private double[] plyThicknessCum
Values of Ply center positions for each Ply.


labelPly

private java.awt.Label[] labelPly
Label containing Ply ID number for each Ply.


labelThick

private java.awt.Label[] labelThick
Label containing Ply thickness for each Ply.


labelCum

private java.awt.Label[] labelCum
Label containing Ply center positions for each Ply.


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 Damping 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 GuiIcanDataDamping.Madapter myMadapter
Mouse Adapter to handle mouse entering window for the first time and right clicks.


saveCompFocus

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


iFocusl

private int iFocusl
The height Index of the TextField with Focus. Corresponds to ply number.


iFocusw

private int iFocusw
The width Index of the TextField with Focus. Corresponds to variable.


firstRun

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

Constructor Detail

GuiIcanDataDamping

public GuiIcanDataDamping()
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

getPlyThickness

private boolean getPlyThickness()
Fill in table of Ply thicknesses and Ply center locations and total the Ply thicknesses.

Returns:
True, if Ply thicknesses are available for computation; else, false.

addIcanDataUser

private void addIcanDataUser()
Add a set of Damping input data per ply.


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.

focusGained

public void focusGained(java.awt.event.FocusEvent evt)
Find The TextField with Focus if Focus Is Gained

Specified by:
focusGained in interface java.awt.event.FocusListener
Parameters:
evt - Focus 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.

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 damping 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.

getDampingData

private DampingDataItem getDampingData()
Get Damping data.

Returns:
Damping data.

saveData

private void saveData()
Save Damping data if changed.


acceptDamping

private boolean acceptDamping()
Check whether Damping data is valid.

Returns:
True, if Damping 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.