IcanGui
Class GuiIcanDataSlice

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

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

Encapsulates the behavior of ICAN/JAVA data entry for Substructure slicing. The constructor and remove() methods are required by the calling method in class IcanGui/GuiIcanDataPly. initMe() is required by abstract super class GuiWindow.

Since:
1.0;
Version:
1.1.16;
Updated by Louis Handler on Oct 8, 2009, 11:18 EDT (1.1.16).
Updated by Louis Handler on Dec 12, 2007, 13:53 EST (1.1.15).
Updated by Louis Handler on Aug 11, 2006, 09:15 EDT (1.1.12).
Updated by Louis Handler on Aug 10, 2006, 09:44 EDT (1.1.11).
Updated by Louis Handler on Dec 29, 2005, 12:41 EST (1.1.6).
Updated by Louis Handler on Jul 13, 2005, 08:48 EDT (1.1.5).
Updated by Louis Handler on Apr 18, 2005, 15:44 EDT (1.1.0).
Updated by Louis Handler on Oct 28, 2004, 11:54 EDT (1.0.10).
Updated by Louis Handler on Oct 25, 2004, 15:52 EDT (1.0.8).
Updated by Louis Handler on Oct 13, 2004, 13:31 EDT (1.0.7).
Updated by Louis Handler on Apr 12, 2004, 08:31 EDT.
Updated by Louis Handler on Sep 12, 2002, 09:05 EDT.
Updated by Louis Handler on Aug 27, 2002, 10:10 EDT.
Updated by Louis Handler on Aug 27, 2002, 09:34 EDT.
Updated by Louis Handler on May 17, 2000, 12:42 EDT.
Updated by Louis Handler on Mar 28, 2000, 12:50 EST.
Updated by Louis Handler on Mar 22, 2000, 12:51 EST.
Updated by Louis Handler on Mar 13, 2000, 14:00 EST.
Updated by Louis Handler on Feb 25, 2000, 08:32 EST.
Updated by Louis Handler on Nov 24, 1999, 11:55 EST.
Updated by Louis Handler on Dec 22, 1998, 12:18 EST.
Updated by Steve Gnepp on Dec 07, 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 GuiIcanDataSlice.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.lang.String chosenPlies
          String containing the selected Ply number(s) or "ALL".
private  java.lang.String chosenSubstructs
          String specifying which Substructure subrange(s) to slice or "ALL".
private  int[] codeSlice
          Values of the number of Slices for Fiber or Particle, Interphase, Matrix or Binder.
private  double[] d
          Values of Diameter/Distance for Fiber or Particle, (Fiber or Particle +) Interphase, Matrix or Binder.
private static java.lang.String[][] dataColTitle
          Titles for columns in Substructure Data table.
private  java.lang.String[] dataRowTitle
          Titles for (column 1) rows in Substructure Data table.
private  java.lang.String[] descr
          Descriptive titles at top of window.
private  double dSubstructsPerPly
          Computed number of Substructures per Ply, including fractional part.
private  java.awt.TextField[] entrySel
          Textfields for entering Substructure Selection values.
private  java.awt.TextField[] entrySlice
          Textfields for entering Number of Slices.
private static double EPSR
          Extra amount to allow when rounding the number of fibers in the ply up to the next highest value.
private  int fiberOrParticle
          Either MaterialProperty.PROPERTY_TYPE_FIBER or MaterialProperty.PROPERTY_TYPE_PARTICLE: used to determine whether the analysis is 2D or 3D, respectively.
private  java.awt.GridBagConstraints gbc
          GridBag Layout constraints.
private  java.awt.GridBagLayout gbl
          GridBag Layout manager.
private static double HALF
          The constant one half.
private static int iAccept
          Accept Button verifies data and processes Substructure data.
private static int iCancel
          Cancel Button exits this screen and discards any data entered.
private static int iClear
          Clear Button clears data entry fields.
private static int iCompute
          Compute Button computes and displays Substructure data.
private static int iDetail
          Compute Button computes and displays Substructure data and table of individual slices.
private static int iExit
          Exit Button exits the entire program.
static int iF
          Index of Fiber or Particle variables.
private static int iHelp
          Help Button displays information on this window.
static int iI
          Index of Interphase variables.
private  int iLbl
          Index for lblData.
static int iM
          Index of Matrix or Binder variables.
private static int iPlot
          Plot One Button will display the slices within a fiber/particle box.
private  int iPly
          Index of invoking Slice button corresponding to Ply number or range.
private  int iPS
          0 for Primary, 1 for Secondary.
private  double[] k
          Volume ratios for Fiber or Particle, Interphase, Matrix or Binder.
private  int lastSubstruct
          Number of Substructures per Ply, rounded to the next higher integer for selection.
private  java.awt.Label[] lblDataCol
          (Column) Labels in Substructure Data table.
private static java.awt.Label lblDataTitle
          Label for title of Substructure Data table.
private  java.awt.Label[][] lblDataVar
          Labels for Substructure Data table fields.
private  java.awt.Label[] lblDescr
          Labels for descriptions at top of window.
private  java.awt.Label[] lblDiam
          Labels of Diameter/Distance for Fiber or Particle, (Fiber or Particle +) Interphase, Matrix or Binder.
private  java.awt.Label[] lblK
          Labels for Fiber or Particle, Interphase, and Matrix or Binder volume ratios.
private  java.awt.Label[] lblSel
          Labels in Substructure Selection table.
private static java.awt.Label lblSelTitle
          Label for title of Substructure Selection table.
private  java.lang.String[] materialCode
          Strings containing the Materal codes for Fiber or Particle, Interphase, Matrix or Binder.
private  GuiIcanDataSlice.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 nChosenPlies
          Number of Plies in selected subrange(s).
private  int nChosenSubstructs
          Number of Substructures (per selected Ply) selected for slicing.
private  int[] nCount
          Values of the numbers of Slices per Substructure, Fiber or Particles per Ply, Slices thru Plies.
private static int nDataCols
          Number of data columns in Substructure Data table.
private  int nDataRows
          Number of data rows in Substructure Data table.
private  int nDescrs
          Number of descriptive labels at top of window.
private  int nPlies
          Number of Plies in Ply range.
private  int nSels
          Number of rows in Substructure Selection table.
static int nset
          Number of Fiber or Particle, Interphase, and Matrix or Binder indices.
private  int nSlicesPerSubstruct
          Computed number of slices per Substructure.
private  int nSlicesTotal
          Computed total number of Slices in Ply range.
private static double ONE
          The constant one half.
private  java.awt.Panel panelDescr
          Panel containing descriptions of the ply or plys for which this GUI window performs substructuring.
private  java.awt.Panel panelFrame
          The Panel that contains the data to be displayed within a scrolling frame.
private  GuiIcanPlotFrame plotWindowFrame
          Plot window.
private  double plyLoRange
          Value of low Ply position for the Ply range.
private  java.lang.String plyMaterialID
          String containing the composite material code.
private  java.lang.String plyRange
          String containing Ply number or range.
private  int[] plyRangeArray
          Array of integers denoting Ply range.
private  double plyThickness
          Value of Ply thickness (for each Ply in range).
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.lang.String[] sliceThru
          Strings containing: "Fiber"/"Particle", "Interphase", "Matrix"/"Binder".
private static java.lang.String[] sPSs
          Strings used to print either primary or secondary material data.
private  double[] sThick
          Computed Slice Thicknesses for Fiber or Particle, Interphase, Matrix or Binder.
private  java.lang.String[] subDefect
          Array of ID's at which defect was set, of the form ply:box:slice::Nx:Ny.
private  SubsliceItem[] subsliceItems
          List of SubsliceItem's containing slice ID's to be subsliced and numbers of subslices per slice.
private  java.lang.String theTitle
          String 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
GuiIcanDataSlice(java.lang.String title, int iPly, java.lang.String plyRange, java.lang.String plyMaterialID, int iPS, java.lang.String materialF, java.lang.String materialI, java.lang.String materialM, double kF, double kI, double kM, double dF, double plyThickness, double plyLoRange, int fiberOrParticle, java.lang.String chosenPlies, java.lang.String chosenSubstructs, int[] codeSlice, SubsliceItem[] subsliceItems, java.lang.String[] subDefect)
          Constructor creates windows to display text entry fields, buttons, and table of slices.
 
Method Summary
private  boolean acceptSubstructure()
          Check whether Substructure data is valid.
 void actionPerformed(java.awt.event.ActionEvent evt)
          Detect Action Events and process accordingly
 void changeGuiUnits()
          Change units on GUI for this class.
private  void computeVars()
          Compute dynamic fields for Substructure Data and Substructure Slice tables.
 void doArrow(int key)
          Process arrow key to move focus.
private  void doPlot()
          Create plot.
 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
 java.lang.String getName()
          Get class name.
 void helpMe()
          Display help message.
 void helpMe(java.awt.Component target)
          Display help message for a specified component.
private  void hideLastPlot()
          Destroy plot if it is shown.
protected  void initMe()
          Creates and displays main Substructure window and Slice table window.
private  void initVarsGui()
          Initialize dynamic fields for Substructure Data and Substructure Slice tables in GUI.
 void keyPressed(java.awt.event.KeyEvent evt)
          Does Nothing
 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 Substructure data.
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.
 void setSubDefect(int[] plyRangeArray, java.lang.String[] subDefect)
          Set the subslice defect list created in GuiIcanDataSubsliceTable.
 void setSubsliceItems(int[] plyRangeArray, SubsliceItem[] subsliceItems)
          Set the subslice defect list created in GuiIcanDataSubsliceTable.
private  void setVarsGui()
          Set dynamic fields for Substructure Data and Substructure Slice tables into GUI.
 
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

panelDescr

private java.awt.Panel panelDescr
Panel containing descriptions of the ply or plys for which this GUI window performs substructuring.


gbl

private java.awt.GridBagLayout gbl
GridBag Layout manager.


gbc

private java.awt.GridBagConstraints gbc
GridBag Layout constraints.


iPly

private int iPly
Index of invoking Slice button corresponding to Ply number or range.


iPS

private int iPS
0 for Primary, 1 for Secondary.


sPSs

private static final java.lang.String[] sPSs
Strings used to print either primary or secondary material data.


descr

private java.lang.String[] descr
Descriptive titles at top of window.


nDescrs

private int nDescrs
Number of descriptive labels at top of window.


lblDescr

private java.awt.Label[] lblDescr
Labels for descriptions at top of window.


theTitle

private java.lang.String theTitle
String containing the description/title of the ICAN/JAVA run.


plyRange

private java.lang.String plyRange
String containing Ply number or range.


plyRangeArray

private int[] plyRangeArray
Array of integers denoting Ply range. The 2 elements denote start and end of Ply range.

See Also:
plyRange

nPlies

private int nPlies
Number of Plies in Ply range.

See Also:
plyRange

plyMaterialID

private java.lang.String plyMaterialID
String containing the composite material code.


plyThickness

private double plyThickness
Value of Ply thickness (for each Ply in range).


plyLoRange

private double plyLoRange
Value of low Ply position for the Ply range.


lblSelTitle

private static final java.awt.Label lblSelTitle
Label for title of Substructure Selection table.


nSels

private int nSels
Number of rows in Substructure Selection table.


lblSel

private java.awt.Label[] lblSel
Labels in Substructure Selection table.


entrySel

private java.awt.TextField[] entrySel
Textfields for entering Substructure Selection values.
  1. Ply number(s) - "ALL" or number(s) in selected subrange(s). For "ALL", same slicing applies to all plies in range.
  2. Substructure(s) to slice - "ALL" or subrange(s). For "ALL", same slicing applies to all substructures in ply range(s).


chosenPlies

private java.lang.String chosenPlies
String containing the selected Ply number(s) or "ALL".

See Also:
entrySel

nChosenPlies

private int nChosenPlies
Number of Plies in selected subrange(s).

See Also:
chosenPlies

chosenSubstructs

private java.lang.String chosenSubstructs
String specifying which Substructure subrange(s) to slice or "ALL".

See Also:
entrySel

nChosenSubstructs

private int nChosenSubstructs
Number of Substructures (per selected Ply) selected for slicing.

See Also:
chosenSubstructs

fiberOrParticle

private int fiberOrParticle
Either MaterialProperty.PROPERTY_TYPE_FIBER or MaterialProperty.PROPERTY_TYPE_PARTICLE: used to determine whether the analysis is 2D or 3D, respectively.


iF

public static final int iF
Index of Fiber or Particle variables.

See Also:
Constant Field Values

iI

public static final int iI
Index of Interphase variables.

See Also:
Constant Field Values

iM

public static final int iM
Index of Matrix or Binder variables.

See Also:
Constant Field Values

nset

public static final int nset
Number of Fiber or Particle, Interphase, and Matrix or Binder indices.

See Also:
Constant Field Values

lblDataTitle

private static final java.awt.Label lblDataTitle
Label for title of Substructure Data table.


dataColTitle

private static final java.lang.String[][] dataColTitle
Titles for columns in Substructure Data table.


nDataCols

private static final int nDataCols
Number of data columns in Substructure Data table.


lblDataCol

private java.awt.Label[] lblDataCol
(Column) Labels in Substructure Data table.


dataRowTitle

private java.lang.String[] dataRowTitle
Titles for (column 1) rows in Substructure Data table.


nDataRows

private int nDataRows
Number of data rows in Substructure Data table.


entrySlice

private java.awt.TextField[] entrySlice
Textfields for entering Number of Slices. Number of slices through:
  1. Fiber or Particle
  2. Interphase - same value is used (strictly) above and below Fiber or Particle.
  3. Matrix or Binder - same number is used (strictly) above and below any Interphase.


codeSlice

private int[] codeSlice
Values of the number of Slices for Fiber or Particle, Interphase, Matrix or Binder.

See Also:
entrySlice

lblDataVar

private java.awt.Label[][] lblDataVar
Labels for Substructure Data table fields.
  1. Fiber or Particle
    • Material Code
    • Number of Slices (actually a TextField: see entrySlice)
    • Volume Ratio
    • Diameter or Distance - diameter of Fiber or Particle
    • Slice Thickness - Fiber or Particle diameter / Number of Slices
  2. Interphase
    • Material Code
    • Number of Slices - strictly above or below Fiber or Particle (actually a TextField: see entrySlice)
    • Volume Ratio
    • Diameter or Distance - diameter of Fiber or Particle + Interphase
    • Slice Thickness - Interphase annulus (above or below Fiber or Particle) / Number of Slices
  3. Matrix or Binder
    • Material Code
    • Number of Slices - strictly above or below any Interphase (actually a TextField: see entrySlice)
    • Volume Ratio
    • Diameter or Distance - Substructure height
    • Slice Thickness - Matrix or Binder (strictly above or below any Interphase) / Number of Slices
  4. Number of Slices per Substructure
  5. Number of Fibers/Particles in Ply Thickness - Number of Substructures in Ply Thickness
  6. Number of Slices in Ply Thickness

See Also:
entrySlice

sliceThru

private java.lang.String[] sliceThru
Strings containing: "Fiber"/"Particle", "Interphase", "Matrix"/"Binder".


materialCode

private java.lang.String[] materialCode
Strings containing the Materal codes for Fiber or Particle, Interphase, Matrix or Binder.


k

private double[] k
Volume ratios for Fiber or Particle, Interphase, Matrix or Binder.


lblK

private java.awt.Label[] lblK
Labels for Fiber or Particle, Interphase, and Matrix or Binder volume ratios.


d

private double[] d
Values of Diameter/Distance for Fiber or Particle, (Fiber or Particle +) Interphase, Matrix or Binder.

See Also:
lblDataVar

lblDiam

private java.awt.Label[] lblDiam
Labels of Diameter/Distance for Fiber or Particle, (Fiber or Particle +) Interphase, Matrix or Binder.

See Also:
lblDataVar

sThick

private double[] sThick
Computed Slice Thicknesses for Fiber or Particle, Interphase, Matrix or Binder.

See Also:
lblDataVar

nSlicesPerSubstruct

private int nSlicesPerSubstruct
Computed number of slices per Substructure.


lastSubstruct

private int lastSubstruct
Number of Substructures per Ply, rounded to the next higher integer for selection.

See Also:
dSubstructsPerPly

dSubstructsPerPly

private double dSubstructsPerPly
Computed number of Substructures per Ply, including fractional part.

See Also:
lastSubstruct

nSlicesTotal

private int nSlicesTotal
Computed total number of Slices in Ply range.


nCount

private int[] nCount
Values of the numbers of Slices per Substructure, Fiber or Particles per Ply, Slices thru Plies.

See Also:
nSlicesPerSubstruct, lastSubstruct, nSlicesTotal

iAccept

private static final int iAccept
Accept Button verifies data and processes Substructure data.

See Also:
Constant Field Values

iCompute

private static final int iCompute
Compute Button computes and displays Substructure data.

See Also:
Constant Field Values

iPlot

private static final int iPlot
Plot One Button will display the slices within a fiber/particle box.

See Also:
Constant Field Values

iDetail

private static final int iDetail
Compute Button computes and displays Substructure data and table of individual slices.

See Also:
Constant Field Values

iHelp

private static final int iHelp
Help Button displays information on this window.

See Also:
Constant Field Values

iClear

private static final int iClear
Clear Button clears data entry fields.

See Also:
Constant Field Values

iCancel

private static final int iCancel
Cancel Button exits this screen and discards any data entered.

See Also:
Constant Field Values

iExit

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

See Also:
iAccept, iCancel, 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.


subsliceItems

private SubsliceItem[] subsliceItems
List of SubsliceItem's containing slice ID's to be subsliced and numbers of subslices per slice.


subDefect

private java.lang.String[] subDefect
Array of ID's at which defect was set, of the form ply:box:slice::Nx:Ny.


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.


plotWindowFrame

private GuiIcanPlotFrame plotWindowFrame
Plot window.


myMadapter

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


iLbl

private int iLbl
Index for lblData.


saveCompFocus

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


HALF

private static final double HALF
The constant one half.

See Also:
Constant Field Values

ONE

private static final double ONE
The constant one half.

See Also:
Constant Field Values

EPSR

private static final double EPSR
Extra amount to allow when rounding the number of fibers in the ply up to the next highest value. For example, an exact integer or a slightly greater number should stay at the exact number and should not round up until it exceeds the exact number by the given amount.

See Also:
Constant Field Values
Constructor Detail

GuiIcanDataSlice

public GuiIcanDataSlice(java.lang.String title,
                        int iPly,
                        java.lang.String plyRange,
                        java.lang.String plyMaterialID,
                        int iPS,
                        java.lang.String materialF,
                        java.lang.String materialI,
                        java.lang.String materialM,
                        double kF,
                        double kI,
                        double kM,
                        double dF,
                        double plyThickness,
                        double plyLoRange,
                        int fiberOrParticle,
                        java.lang.String chosenPlies,
                        java.lang.String chosenSubstructs,
                        int[] codeSlice,
                        SubsliceItem[] subsliceItems,
                        java.lang.String[] subDefect)
Constructor creates windows to display text entry fields, buttons, and table of slices.

Parameters:
title - The description/title of the ICAN/JAVA run.
iPly - Subscript of Ply range data.
plyRange - Range of Ply Id numbers for this substructure.
plyMaterialID - Composite material code for ply.
iPS - 0 for Primary, 1 for Secondary.
materialF - Material code for fiber or particle.
materialI - Material code for interphase.
materialM - Material code for matrix or binder.
kF - Fiber or particle volume ratio.
kI - Interphase volume ratio.
kM - Matrix or binder volume ratio.
dF - Fiber or particle diameter.
plyThickness - Thickness of this Ply.
plyLoRange - Low position of the first ply in range.
fiberOrParticle - See MaterialDataBank.MaterialProperty.PROPERTY_TYPE_FIBER or MaterialDataBank.MaterialProperty.PROPERTY_TYPE_PARTICLE to determine whether 2-D or 3-D analysis is required.
chosenPlies - Selected Ply number(s)
chosenSubstructs - Selected Substructure(s) to slice
codeSlice - Array containing number of slices of each type (F/P, I, or M/B) to initialize the class for.
subsliceItems - List of SubsliceItem's containing slice ID's to be subsliced and numbers of subslices per slice.
subDefect - Array of slice/subslice ID's at which defect was set, of the form ply:box:slice[::Nx:Ny].
See Also:
MaterialProperty.PROPERTY_TYPE_FIBER, MaterialProperty.PROPERTY_TYPE_PARTICLE
Method Detail

initMe

protected void initMe()
Creates and displays main Substructure window and Slice table window. Main window contains: descriptions, Substructure Selection and Substructure Data tables, and buttons.

Specified by:
initMe in class GuiWindow

computeVars

private void computeVars()
Compute dynamic fields for Substructure Data and Substructure Slice tables.


setVarsGui

private void setVarsGui()
Set dynamic fields for Substructure Data and Substructure Slice tables into GUI.


initVarsGui

private void initVarsGui()
Initialize dynamic fields for Substructure Data and Substructure Slice tables in GUI.


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)
Does Nothing

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.

doArrow

public void doArrow(int key)
Process arrow key to move focus.

Parameters:
key - Arrow key entered.

hideLastPlot

private void hideLastPlot()
Destroy plot if it is shown.


doPlot

private void doPlot()
Create plot.


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

setSubsliceItems

public void setSubsliceItems(int[] plyRangeArray,
                             SubsliceItem[] subsliceItems)
Set the subslice defect list created in GuiIcanDataSubsliceTable.

Parameters:
plyRangeArray - Array of integers denoting Ply range. The 2 elements denote start and end of Ply range.
subsliceItems - Array of ID's at which defect was set, of the form ply:box:slice::Nx:Ny.
See Also:
plyRange, GuiIcanDataSubsliceTable

setSubDefect

public void setSubDefect(int[] plyRangeArray,
                         java.lang.String[] subDefect)
Set the subslice defect list created in GuiIcanDataSubsliceTable.

Parameters:
plyRangeArray - Array of integers denoting Ply range. The 2 elements denote start and end of Ply range.
subDefect - Array of ID's at which defect was set, of the form ply:box:slice[::Nx:Ny].
See Also:
plyRange, GuiIcanDataSubsliceTable

saveData

private void saveData()
Save Substructure data.


acceptSubstructure

private boolean acceptSubstructure()
Check whether Substructure data is valid.

Returns:
True, if Substructure data is valid; False otherwise.

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.