Package org.opentrafficsim.swing.gui
Class ProbabilityDistributionEditor<T>
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.djutils.swing.multislider.AbstractMultiSlider<T>
org.djutils.swing.multislider.LinearMultiSlider<Double>
org.opentrafficsim.swing.gui.ProbabilityDistributionEditor<T>
- Type Parameters:
T- category type
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable
Editor for a distribution of probabilities of all possible categories. The probabilities must sum to 1.0.
Copyright (c) 2024-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.djutils.swing.multislider.AbstractMultiSlider
AbstractMultiSlider.DispatcherPane, AbstractMultiSlider.FinalValueChangeListener, AbstractMultiSlider.LabelPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionProbabilityDistributionEditor(List<T> categories, double[] probabilities, int valuesPerPercent) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]Retrieve the current probability values.doublegetProbability(int i) Returns the probability of category with given index.doublegetProbability(T t) Returns the probability of the given category.protected DoublemapIndexToValue(int index) voidvoidsetCategoryFontSize(float categoryFontSize) Set the font size for the category labels.voidsetCategoryLabelFunction(BiFunction<T, Double, String> labelfunction) Sets the label function.Methods inherited from class org.djutils.swing.multislider.LinearMultiSlider
getUnitTicks, mapValueToIndexMethods inherited from class org.djutils.swing.multislider.AbstractMultiSlider
addChangeListener, addFinalValueChangeListener, calculateTrackSize, checkRestrictions, checkRestrictions, createStandardLabels, createStandardLabels, fireFinalValueChanged, fireStateChanged, format, getBusySlider, getChangeListeners, getDispatcherPane, getExtent, getFinalValueChangeListeners, getIndexMaximum, getIndexMinimum, getIndexValue, getInverted, getLabelPanel, getLabelTable, getMajorTickSpacing, getMaximum, getMinimum, getMinorTickSpacing, getNumberOfThumbs, getOrientation, getOverlap, getPaintLabels, getPaintTicks, getPaintTrack, getPassing, getSlider, getSliders, getSnapToTicks, getThumbLabel, getTrackSizeHiPx, getTrackSizeLoPx, getUI, getUIClassID, getValue, isBusy, isBusySlider, isDrawThumbLabels, isHorizontal, isVertical, removeChangeListener, removeFinalValueChangeListener, resetToInitialValues, setBusy, setBusySlider, setDrawThumbLabels, setExtent, setFont, setIndexMaximum, setIndexMinimum, setIndexValue, setInverted, setLabelTable, setMajorTickSpacing, setMaximum, setMinimum, setMinorTickSpacing, setOrientation, setOverlap, setPaintLabels, setPaintTicks, setPaintTrack, setPassing, setSnapToTicks, setThumbLabel, setUI, setValue, thumbPositionPx, trackSize, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
Method Details
-
mapIndexToValue
- Specified by:
mapIndexToValuein classAbstractMultiSlider<Double>
-
setCategoryLabelFunction
Sets the label function. This function receives the category object and the probability in the normalized [0...1] range.- Parameters:
labelfunction- label function receiving the category object and the probability in the normalized [0...1] range
-
setCategoryFontSize
public void setCategoryFontSize(float categoryFontSize) Set the font size for the category labels.- Parameters:
categoryFontSize- font size for the category labels
-
paint
- Overrides:
paintin classJComponent
-
getProbabilities
public double[] getProbabilities()Retrieve the current probability values.- Returns:
- the probability values
-
getProbability
Returns the probability of the given category.- Parameters:
t- category- Returns:
- the probability of the given category
- Throws:
IllegalArgumentException- if the category object is not part of the distribution
-
getProbability
public double getProbability(int i) Returns the probability of category with given index.- Parameters:
i- category index- Returns:
- the probability of category with given index
- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-