de.upb.swtpra05.group03.companycontrol
Class StrategyPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byde.upb.swtpra05.group03.companycontrol.StrategyPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.MenuContainer, java.io.Serializable

public class StrategyPanel
extends javax.swing.JPanel
implements java.awt.event.ActionListener, java.awt.event.ItemListener

The Strategy Panel which is placed inside the Control Panel and is used to change Parameters of the Shuttles.

Version:
$Revision: 1.3 $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JButton applyParams
          button to apply new shuttle parameters
private  javax.swing.JOptionPane errorMessage
          error message if wrong values are entered
private  java.awt.GridBagConstraints gbc
          the GridBagLayoutConstraints
private  javax.swing.JTextField margin
          text field for profit adjust
private  javax.swing.JLabel marginLabel
          margin TextField description
private  javax.swing.JTextField marginStep
          text field for margin step adjust
private  javax.swing.JLabel marginStepLabel
          marginStep TextField description
private  javax.swing.JLabel marginStepValue
          the current marginStep value
private  javax.swing.JLabel marginValue
          the current margin value
private  javax.swing.JTextField minMargin
          text field for minimum profit adjust
private  javax.swing.JLabel minMarginLabel
          minMargin TextField description
private  javax.swing.JLabel minMarginValue
          the current minimum margin value
private  javax.swing.border.Border paneBorder
          loweretched border for the panel
private  CompanyMainControl refControl
          reference on CompanyMainControl to invoke shuttleParamsChanged method
private  javax.swing.JComboBox riskFactor
          choose between low medium or high risk factor
private  javax.swing.JLabel riskFactorLabel
          riskFactor ComboBox description
private  javax.swing.JCheckBox selfAdopting
          switch for selfAdopting on off
private  javax.swing.JLabel selfAdoptingLabel
          selfAdopting CheckBox description
private static long serialVersionUID
          Comment for serialVersionUID
private  javax.swing.border.TitledBorder titledBorder
          Border with title "Shuttle strategy"
 
Fields inherited from class javax.swing.JPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
(package private) StrategyPanel(CompanyMainControl refControl)
          The constructor initializes the GUI components and handles the grid bag layout.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent arg0)
           
private  int float2percent(float value)
          converts float values to percent as int
 void itemStateChanged(java.awt.event.ItemEvent e)
          listen to selfAdopting CheckBox State
private  float percent2float(int value)
          converts int to float
 void reset()
          This method is called by ControlPanel when the Company Control is disconnected from the kernel and it is called by this class itself when initializing to have clear boxes.
private  void setGbc(int row, int column, int width, int height, double weighty, double weightx, int fill)
          setting some layout values
 void setWaitState()
          This method is called by ControlPanel when the CompanyControlClient starts to connect to the Kernel.
 void updateShuttleParams(float newMargin, float newMinMargin, float newMarginStep, int newRiskFactor, boolean newSelfAdopting)
          make the strategy panel update its parameters when new parameters from shuttles are received
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Comment for serialVersionUID

See Also:
Constant Field Values

refControl

private CompanyMainControl refControl
reference on CompanyMainControl to invoke shuttleParamsChanged method


paneBorder

private javax.swing.border.Border paneBorder
loweretched border for the panel


gbc

private java.awt.GridBagConstraints gbc
the GridBagLayoutConstraints


titledBorder

private javax.swing.border.TitledBorder titledBorder
Border with title "Shuttle strategy"


selfAdopting

private javax.swing.JCheckBox selfAdopting
switch for selfAdopting on off


riskFactor

private javax.swing.JComboBox riskFactor
choose between low medium or high risk factor


margin

private javax.swing.JTextField margin
text field for profit adjust


minMargin

private javax.swing.JTextField minMargin
text field for minimum profit adjust


marginStep

private javax.swing.JTextField marginStep
text field for margin step adjust


riskFactorLabel

private javax.swing.JLabel riskFactorLabel
riskFactor ComboBox description


marginLabel

private javax.swing.JLabel marginLabel
margin TextField description


minMarginLabel

private javax.swing.JLabel minMarginLabel
minMargin TextField description


marginStepLabel

private javax.swing.JLabel marginStepLabel
marginStep TextField description


selfAdoptingLabel

private javax.swing.JLabel selfAdoptingLabel
selfAdopting CheckBox description


marginValue

private javax.swing.JLabel marginValue
the current margin value


minMarginValue

private javax.swing.JLabel minMarginValue
the current minimum margin value


marginStepValue

private javax.swing.JLabel marginStepValue
the current marginStep value


applyParams

private javax.swing.JButton applyParams
button to apply new shuttle parameters


errorMessage

private javax.swing.JOptionPane errorMessage
error message if wrong values are entered

Constructor Detail

StrategyPanel

StrategyPanel(CompanyMainControl refControl)
The constructor initializes the GUI components and handles the grid bag layout.

Parameters:
refControl - reference on CompanyMainControl
Method Detail

setGbc

private void setGbc(int row,
                    int column,
                    int width,
                    int height,
                    double weighty,
                    double weightx,
                    int fill)
setting some layout values

Parameters:
row -
column -
width -
height -
fill -
weightx -
weighty -

reset

public void reset()
This method is called by ControlPanel when the Company Control is disconnected from the kernel and it is called by this class itself when initializing to have clear boxes. Simply some reset operations.


setWaitState

public void setWaitState()
This method is called by ControlPanel when the CompanyControlClient starts to connect to the Kernel. Sets "wait outputs", so the user knows that something will happen.


updateShuttleParams

public void updateShuttleParams(float newMargin,
                                float newMinMargin,
                                float newMarginStep,
                                int newRiskFactor,
                                boolean newSelfAdopting)
make the strategy panel update its parameters when new parameters from shuttles are received

Parameters:
newMargin - the margin that the shuttle shall use to calculate their offers
newMinMargin - the minimum margin to have
newMarginStep - the size of the steps between to possible margins
newRiskFactor - the risc factor of the shuttles: 0 low, 1 medium, 2 high
newSelfAdopting -

float2percent

private int float2percent(float value)
converts float values to percent as int

Parameters:
value - float
Returns:
percent as int

percent2float

private float percent2float(int value)
converts int to float

Parameters:
value -
Returns:
the int value divided by 100 as float

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent arg0)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
See Also:
ActionListener.actionPerformed(java.awt.event.ActionEvent)

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
listen to selfAdopting CheckBox State

Specified by:
itemStateChanged in interface java.awt.event.ItemListener
Parameters:
e -