Class CargoPanel

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, DropTarget
    Direct Known Subclasses:
    ColonyPanel.ColonyCargoPanel

    public class CargoPanel
    extends FreeColPanel
    implements DropTarget, java.beans.PropertyChangeListener
    A panel that holds units and goods that represent Units and cargo that are on board the currently selected ship.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Unit carrier
      The carrier that contains cargo.
      private DefaultTransferHandler defaultTransferHandler  
      private static java.util.logging.Logger logger  
      • 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_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, 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

      Constructors 
      Constructor Description
      CargoPanel​(FreeColClient freeColClient, boolean withTitle)
      Creates this CargoPanel.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accepts​(Goods goods)
      Can the given goods be dropped on this target?
      boolean accepts​(Unit unit)
      Can the given unit be dropped on this target?
      java.awt.Component add​(java.awt.Component comp, boolean editState)
      Adds a component to this container and makes sure that the unit or goods that the component represents gets modified so that it is on board the currently selected carrier.
      protected void addPropertyChangeListeners()  
      void cleanup()
      Clean up this CargoPanel.
      Unit getCarrier()
      Get the carrier unit.
      void initialize()
      Initialize this CargoPanel.
      boolean isActive()
      Whether this panel is active.
      void propertyChange​(java.beans.PropertyChangeEvent event)  
      void remove​(java.awt.Component comp)
      void removeNotify()
      protected void removePropertyChangeListeners()  
      void setCarrier​(Unit newCarrier)
      Set the carrier unit.
      int suggested​(GoodsType type)
      Get a suggested amount of goods to add, used when partial amounts are selected.
      void update()
      Update this CargoPanel.
      private void updateTitle()
      Update the title of this CargoPanel.
      • 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, 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
      • carrier

        private Unit carrier
        The carrier that contains cargo.
    • Constructor Detail

      • CargoPanel

        public CargoPanel​(FreeColClient freeColClient,
                          boolean withTitle)
        Creates this CargoPanel.
        Parameters:
        freeColClient - The FreeColClient for the game.
        withTitle - Should the panel have a title?
    • Method Detail

      • initialize

        public void initialize()
        Initialize this CargoPanel.
      • cleanup

        public void cleanup()
        Clean up this CargoPanel.
      • addPropertyChangeListeners

        protected void addPropertyChangeListeners()
      • removePropertyChangeListeners

        protected void removePropertyChangeListeners()
      • update

        public void update()
        Update this CargoPanel.
      • isActive

        public boolean isActive()
        Whether this panel is active.
        Returns:
        boolean true == active
      • getCarrier

        public Unit getCarrier()
        Get the carrier unit.
        Returns:
        The carrier Unit.
      • setCarrier

        public void setCarrier​(Unit newCarrier)
        Set the carrier unit.
        Parameters:
        newCarrier - The new carrier Unit.
      • updateTitle

        private void updateTitle()
        Update the title of this CargoPanel.
      • accepts

        public boolean accepts​(Goods goods)
        Can the given goods be dropped on this target?
        Specified by:
        accepts in interface DropTarget
        Parameters:
        goods - The Goods to check.
        Returns:
        True if the goods are acceptable.
      • accepts

        public boolean accepts​(Unit unit)
        Can the given unit be dropped on this target?
        Specified by:
        accepts in interface DropTarget
        Parameters:
        unit - The Unit to check.
        Returns:
        True if the unit is acceptable.
      • add

        public java.awt.Component add​(java.awt.Component comp,
                                      boolean editState)
        Adds a component to this container and makes sure that the unit or goods that the component represents gets modified so that it is on board the currently selected carrier.
        Specified by:
        add in interface DropTarget
        Parameters:
        comp - The component to add to this container.
        editState - Must be set to 'true' if the state of the component that is added (which should be a dropped component representing a unit or goods) should be changed so that the underlying unit or goods are on board the currently selected carrier.
        Returns:
        The component argument on success, null on failure.
      • suggested

        public int suggested​(GoodsType type)
        Get a suggested amount of goods to add, used when partial amounts are selected.
        Specified by:
        suggested in interface DropTarget
        Parameters:
        type - The GoodsType proposed to add.
        Returns:
        A good amount of goods to add.
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent event)
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
      • remove

        public void remove​(java.awt.Component comp)
        Overrides:
        remove in class java.awt.Container