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.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.
-
Field Summary
Fields Modifier and Type Field Description private java.awt.Button
abortButton
private java.awt.Checkbox
borwein
private java.util.List<BuilderFactory>
builderFactories
private java.lang.Thread
calculatorThread
private java.awt.Checkbox
chudnovsky
private java.awt.Checkbox
gaussLegendre
private java.awt.Button
goButton
private java.awt.Choice
implementationChoice
private java.awt.Label
implementationLabel
private java.awt.Label
methodLabel
private java.awt.CheckboxGroup
methods
private java.awt.TextField
precisionField
private java.awt.Label
precisionLabel
private java.awt.Choice
radixChoice
private java.awt.Label
radixLabel
private java.awt.Checkbox
ramanujan
private java.awt.TextArea
resultArea
private java.awt.Label
resultLabel
private static long
serialVersionUID
private java.awt.TextArea
statusArea
private PiAWT.StatusIndicator
statusIndicator
private java.awt.Label
statusLabel
-
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.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:
true
if 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()
-
-