Class PiAWT

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    PiParallelAWT

    public class PiAWT
    extends java.awt.Panel
    Graphical AWT elements for calculating pi using four different algorithms.
    Version:
    1.14.0
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  PiAWT.FlushStringWriter  
      static interface  PiAWT.StatusIndicator
      Interface to indicate an error status in the application.
      • Nested classes/interfaces inherited from class java.awt.Panel

        java.awt.Panel.AccessibleAWTPanel
      • 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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Constructor Summary

      Constructors 
      Constructor Description
      PiAWT​(PiAWT.StatusIndicator statusIndicator)
      Construct a panel with graphical elements.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void aborted()  
      private void crashed​(java.lang.Throwable cause)  
      private void end()  
      protected Operation<Apfloat> getOperation​(long precision, int radix)
      Get the calculation operation to execute.
      private void initGUI()  
      protected void initThreads​(java.awt.Container container, java.awt.GridBagConstraints constraints)
      Initialize the "threads" section GUI elements.
      protected boolean isInputValid()
      Validates the input fields.
      protected void showStatus​(java.lang.String status)
      Show the specified error status.
      private void startThread()  
      private void stopThread()  
      • Methods inherited from class java.awt.Panel

        addNotify, getAccessibleContext
      • Methods inherited from class java.awt.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 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, 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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • precisionLabel

        private java.awt.Label precisionLabel
      • precisionField

        private java.awt.TextField precisionField
      • radixLabel

        private java.awt.Label radixLabel
      • radixChoice

        private java.awt.Choice radixChoice
      • methodLabel

        private java.awt.Label methodLabel
      • methods

        private java.awt.CheckboxGroup methods
      • chudnovsky

        private java.awt.Checkbox chudnovsky
      • ramanujan

        private java.awt.Checkbox ramanujan
      • gaussLegendre

        private java.awt.Checkbox gaussLegendre
      • borwein

        private java.awt.Checkbox borwein
      • implementationLabel

        private java.awt.Label implementationLabel
      • implementationChoice

        private java.awt.Choice implementationChoice
      • goButton

        private java.awt.Button goButton
      • abortButton

        private java.awt.Button abortButton
      • statusLabel

        private java.awt.Label statusLabel
      • statusArea

        private java.awt.TextArea statusArea
      • resultLabel

        private java.awt.Label resultLabel
      • resultArea

        private java.awt.TextArea resultArea
      • builderFactories

        private java.util.List<BuilderFactory> builderFactories
      • calculatorThread

        private java.lang.Thread calculatorThread
    • Constructor Detail

      • PiAWT

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

      • initGUI

        private void initGUI()
      • initThreads

        protected void initThreads​(java.awt.Container container,
                                   java.awt.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​(java.lang.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
      • startThread

        private void startThread()
      • stopThread

        private void stopThread()
      • aborted

        private void aborted()
      • crashed

        private void crashed​(java.lang.Throwable cause)
      • end

        private void end()