Class TradeRouteInputPanel

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener

    public final class TradeRouteInputPanel
    extends FreeColPanel
    implements javax.swing.event.ListSelectionListener
    Allows the user to edit trade routes.
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent ae)
      private void addSelectedStops()
      Add any stops selected in the destination selector.
      private GoodsTypeLabel buildCargoLabel​(GoodsType gt)
      Convenience function to build a new GoodsTypeLabel.
      private void cancelImport​(GoodsType gt)
      Cancel import of goods at the selected stops.
      void cancelTradeRoute()
      Make sure the original route is invalid and remove this panel.
      private void deleteCurrentlySelectedStops()
      Delete any stops currently selected in the stop list.
      private void enableImport​(GoodsType gt)
      Import new goods at the selected stops.
      void removeNotify()
      private void updateButtons()
      Enables the remove stop button if a stop is selected and disables it otherwise.
      private void updateCargoPanel​(TradeRouteStop stop)
      Update the cargo panel to show a given stop.
      void valueChanged​(javax.swing.event.ListSelectionEvent e)
      private boolean verifyNewTradeRoute()
      Check that the trade route is valid.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, paramString, setUI, updateUI
      • Methods 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, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, 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, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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
      • Methods inherited from class java.lang.Object

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

      • logger

        private static final java.util.logging.Logger logger
      • STOP_FLAVOR

        public static final java.awt.datatransfer.DataFlavor STOP_FLAVOR
      • newRoute

        private final TradeRoute newRoute
        The original route passed to this panel. We are careful not to modify it until we are sure all is well.
      • transferHandler

        private javax.swing.TransferHandler transferHandler
        The TransferHandler for the cargo labels.
      • dragListener

        private transient java.awt.event.MouseListener dragListener
        Mouse listener to use throughout.
      • stopListModel

        private javax.swing.DefaultListModel<TradeRouteStop> stopListModel
        Model to contain the current stops.
      • stopList

        private javax.swing.JList<TradeRouteStop> stopList
        The list of stops to show.
      • tradeRouteName

        private javax.swing.JTextField tradeRouteName
        The user-editable name of the trade route.
      • destinationSelector

        private javax.swing.JComboBox<java.lang.String> destinationSelector
        A box to select stops to add.
      • messagesBox

        private javax.swing.JCheckBox messagesBox
        Toggle message display.
      • addStopButton

        private javax.swing.JButton addStopButton
        A button to add stops with.
      • removeStopButton

        private javax.swing.JButton removeStopButton
        A button to remove stops with.
    • Constructor Detail

      • TradeRouteInputPanel

        public TradeRouteInputPanel​(FreeColClient freeColClient,
                                    TradeRoute newRoute)
        Create a panel to define trade route cargos.
        Parameters:
        freeColClient - The FreeColClient for the game.
        newRoute - The TradeRoute to operate on.
    • Method Detail

      • updateCargoPanel

        private void updateCargoPanel​(TradeRouteStop stop)
        Update the cargo panel to show a given stop.
        Parameters:
        stop - The TradeRouteStop to select.
      • enableImport

        private void enableImport​(GoodsType gt)
        Import new goods at the selected stops.
        Parameters:
        gt - The GoodsType to import.
      • cancelImport

        private void cancelImport​(GoodsType gt)
        Cancel import of goods at the selected stops.
        Parameters:
        gt - The GoodsType to stop importing.
      • addSelectedStops

        private void addSelectedStops()
        Add any stops selected in the destination selector.
      • buildCargoLabel

        private GoodsTypeLabel buildCargoLabel​(GoodsType gt)
        Convenience function to build a new GoodsTypeLabel.
        Parameters:
        gt - The GoodsType for the label.
        Returns:
        A GoodsTypeLabel for the goods type.
      • deleteCurrentlySelectedStops

        private void deleteCurrentlySelectedStops()
        Delete any stops currently selected in the stop list.
      • cancelTradeRoute

        public void cancelTradeRoute()
        Make sure the original route is invalid and remove this panel. Public so that this panel can be signalled to close if the parent TradeRoutePanel is closed.
      • updateButtons

        private void updateButtons()
        Enables the remove stop button if a stop is selected and disables it otherwise.
      • verifyNewTradeRoute

        private boolean verifyNewTradeRoute()
        Check that the trade route is valid.
        Returns:
        True if the trade route is valid.
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent ae)
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class FreeColPanel
      • valueChanged

        public void valueChanged​(javax.swing.event.ListSelectionEvent e)
        Specified by:
        valueChanged in interface javax.swing.event.ListSelectionListener