Package org.apfloat.samples
Class PiAWT
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Panel
-
- org.apfloat.samples.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.PanelGraphical 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 classPiAWT.FlushStringWriterstatic interfacePiAWT.StatusIndicatorInterface to indicate an error status in the application.
-
Field Summary
Fields Modifier and Type Field Description private java.awt.ButtonabortButtonprivate java.awt.Checkboxborweinprivate java.util.List<BuilderFactory>builderFactoriesprivate java.lang.ThreadcalculatorThreadprivate java.awt.Checkboxchudnovskyprivate java.awt.CheckboxgaussLegendreprivate java.awt.ButtongoButtonprivate java.awt.ChoiceimplementationChoiceprivate java.awt.LabelimplementationLabelprivate java.awt.LabelmethodLabelprivate java.awt.CheckboxGroupmethodsprivate java.awt.TextFieldprecisionFieldprivate java.awt.LabelprecisionLabelprivate java.awt.ChoiceradixChoiceprivate java.awt.LabelradixLabelprivate java.awt.Checkboxramanujanprivate java.awt.TextArearesultAreaprivate java.awt.LabelresultLabelprivate static longserialVersionUIDprivate java.awt.TextAreastatusAreaprivate PiAWT.StatusIndicatorstatusIndicatorprivate java.awt.LabelstatusLabel
-
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 voidaborted()private voidcrashed(java.lang.Throwable cause)private voidend()protected Operation<Apfloat>getOperation(long precision, int radix)Get the calculation operation to execute.private voidinitGUI()protected voidinitThreads(java.awt.Container container, java.awt.GridBagConstraints constraints)Initialize the "threads" section GUI elements.protected booleanisInputValid()Validates the input fields.protected voidshowStatus(java.lang.String status)Show the specified error status.private voidstartThread()private voidstopThread()-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
statusIndicator
private PiAWT.StatusIndicator statusIndicator
-
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 thecontainer.- Parameters:
container- The container where the elements are to be added.constraints- The constraints with which the elements are to be added to thecontainer.
-
isInputValid
protected boolean isInputValid()
Validates the input fields.- Returns:
trueif all input fields contain valid values, otherwisefalse.
-
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()
-
-