Class ColonyPanel.TilesPanel.ASingleTilePanel

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, DropTarget
    Enclosing class:
    ColonyPanel.TilesPanel

    public final class ColonyPanel.TilesPanel.ASingleTilePanel
    extends javax.swing.JPanel
    implements DropTarget, java.beans.PropertyChangeListener
    Panel for visualizing a ColonyTile. The component itself is not visible, however the content of the component is (i.e. the people working and the production)
    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 ColonyTile colonyTile
      The colony tile to monitor.
      • 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
      ASingleTilePanel​(ColonyTile colonyTile, int x, int y)
      Create a new single tile panel.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      private void addPropertyChangeListeners()
      Adds PropertyChangeListeners
      void cleanup()
      Clean up this single tile panel.
      boolean contains​(int px, int py)
      Checks if this JComponent contains the given coordinate.
      ColonyTile getColonyTile()
      Gets the colony tile this panel is handling.
      void initialize()
      Initialize this single tile panel.
      void propertyChange​(java.beans.PropertyChangeEvent event)
      Updates the production value via ColonyPanel.updateProduction()
      private void removePropertyChangeListeners()
      Removes PropertyChangeListeners
      private boolean tryWork​(Unit unit)
      Try to work this tile with a specified unit.
      void update()
      Update this single tile panel.
      private void updateDescriptionLabel​(UnitLabel unitLabel)
      Updates the description label, which is a tooltip with the terrain type, road and plow indicator, if any.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, 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, 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, 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

      • colonyTile

        private final ColonyTile colonyTile
        The colony tile to monitor.
    • Constructor Detail

      • ASingleTilePanel

        public ASingleTilePanel​(ColonyTile colonyTile,
                                int x,
                                int y)
        Create a new single tile panel.
        Parameters:
        colonyTile - The ColonyTile to monitor.
        x - The x offset.
        y - The y offset.
    • Method Detail

      • initialize

        public void initialize()
        Initialize this single tile panel.
      • cleanup

        public void cleanup()
        Clean up this single tile panel.
      • addPropertyChangeListeners

        private void addPropertyChangeListeners()
        Adds PropertyChangeListeners
      • removePropertyChangeListeners

        private void removePropertyChangeListeners()
        Removes PropertyChangeListeners
      • update

        public void update()
        Update this single tile panel.
      • getColonyTile

        public ColonyTile getColonyTile()
        Gets the colony tile this panel is handling.
        Returns:
        The colony tile.
      • updateDescriptionLabel

        private void updateDescriptionLabel​(UnitLabel unitLabel)
        Updates the description label, which is a tooltip with the terrain type, road and plow indicator, if any. If a unit is on it update the tooltip of it instead.
        Parameters:
        unitLabel - The UnitLabel to update.
      • tryWork

        private boolean tryWork​(Unit unit)
        Try to work this tile with a specified unit.
        Parameters:
        unit - The Unit to work the tile.
        Returns:
        True if the unit succeeds.
      • 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.
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent event)
        Updates the production value via ColonyPanel.updateProduction()
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
      • contains

        public boolean contains​(int px,
                                int py)
        Checks if this JComponent contains the given coordinate.
        Overrides:
        contains in class javax.swing.JComponent
        Parameters:
        px - The x coordinate to check.
        py - The y coordinate to check.
        Returns:
        true if the coordinate is inside.