# Class PiAWT

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Panel
org.apfloat.samples.PiAWT

All Implemented Interfaces:
  `ImageObserver, MenuContainer, Serializable, Accessible`

Direct Known Subclasses:
  `PiParallelAWT`

public class PiAWT extends Panel
Graphical AWT elements for calculating pi using four different algorithms.

Version:
  1.14.0
Author:
  Mikko Tommila
See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static interface`
  `PiAWT.StatusIndicator`
  Interface to indicate an error status in the application.

  ### Nested classes/interfaces inherited from class Panel

  `Panel.AccessibleAWTPanel`

  ### Nested classes/interfaces inherited from class Container

  `Container.AccessibleAWTContainer`

  ### Nested classes/interfaces inherited from class Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

- ## Field Summary

  ### Fields inherited from class Component

  `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### Fields inherited from interface ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PiAWT(PiAWT.StatusIndicator statusIndicator)`
  Construct a panel with graphical elements.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Operation<Apfloat>`
  `getOperation(long precision, int radix)`
  Get the calculation operation to execute.
  `protected void`
  `initThreads(Container container, GridBagConstraints constraints)`
  Initialize the "threads" section GUI elements.
  `protected boolean`
  `isInputValid()`
  Validates the input fields.
  `protected void`
  `showStatus(String status)`
  Show the specified error status.

  ### Methods inherited from class Panel

  `addNotify, getAccessibleContext`

  ### Methods inherited from class Container

  `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree`

  ### Methods inherited from class 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### PiAWT

    public PiAWT(PiAWT.StatusIndicator statusIndicator)
    Construct a panel with graphical elements.
    Parameters:
      `statusIndicator` - Handler for showing error messages in the application.

- ## Method Details

  - ### initThreads

    protected void initThreads(Container container, GridBagConstraints constraints)
    Initialize the "threads" section GUI elements. Elements should be added for the remainder of the width of the `container`.
    Parameters:
      `container` - The container where the elements are to be added.
      `constraints` - The constraints with which the elements are to be added to the `container`.

  - ### isInputValid

    protected boolean isInputValid()
    Validates the input fields.
    Returns:
      `true` if all input fields contain valid values, otherwise `false`.

  - ### showStatus

    protected void showStatus(String status)
    Show the specified error status.
    Parameters:
      `status` - The status.

  - ### getOperation

    protected Operation<Apfloat> getOperation(long precision, int radix) throws ApfloatRuntimeException
    Get the calculation operation to execute.
    Parameters:
      `precision` - The precision to be used.
      `radix` - The radix to be used.
    Returns:
      The calculation operation to execute.
    Throws:
      `ApfloatRuntimeException`