Package net.sf.freecol.client.gui.panel
Class TradeRouteInputPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- net.sf.freecol.client.gui.panel.MigPanel
-
- net.sf.freecol.client.gui.panel.FreeColPanel
-
- net.sf.freecol.client.gui.panel.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classTradeRouteInputPanel.AllGoodsTypesPanelPanel for all types of goods that can be loaded onto a carrier.private classTradeRouteInputPanel.DestinationCellRendererprivate classTradeRouteInputPanel.StopGoodsTypesPanelPanel for the types of goods that are to be loaded onto the carrier at the current stop.private classTradeRouteInputPanel.StopListHandlerTransferHandler for Stops.private static classTradeRouteInputPanel.StopListTransferableprivate classTradeRouteInputPanel.StopRenderer-
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
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JButtonaddStopButtonA button to add stops with.private TradeRouteInputPanel.AllGoodsTypesPanelallGoodsTypesPanelThe panel displaying all goods types that could be transported.private javax.swing.JComboBox<java.lang.String>destinationSelectorA box to select stops to add.private java.awt.event.MouseListenerdragListenerMouse listener to use throughout.private static java.util.logging.Loggerloggerprivate javax.swing.JCheckBoxmessagesBoxToggle message display.private TradeRoutenewRouteThe original route passed to this panel.private javax.swing.JButtonremoveStopButtonA button to remove stops with.static java.awt.datatransfer.DataFlavorSTOP_FLAVORprivate TradeRouteInputPanel.StopGoodsTypesPanelstopGoodsTypesPanelThe panel displaying the goods types to collect at the selected stop.private javax.swing.JList<TradeRouteStop>stopListThe list of stops to show.private javax.swing.DefaultListModel<TradeRouteStop>stopListModelModel to contain the current stops.private javax.swing.JTextFieldtradeRouteNameThe user-editable name of the trade route.private javax.swing.TransferHandlertransferHandlerThe TransferHandler for the cargo labels.-
Fields inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
CANCEL, editable, HELP, MARGIN, NL_SPAN_SPLIT_2, OK, okButton, SPAN_SPLIT_2
-
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
-
-
Constructor Summary
Constructors Constructor Description TradeRouteInputPanel(FreeColClient freeColClient, TradeRoute newRoute)Create a panel to define trade route cargos.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent ae)private voidaddSelectedStops()Add any stops selected in the destination selector.private GoodsTypeLabelbuildCargoLabel(GoodsType gt)Convenience function to build a newGoodsTypeLabel.private voidcancelImport(GoodsType gt)Cancel import of goods at the selected stops.voidcancelTradeRoute()Make sure the original route is invalid and remove this panel.private voiddeleteCurrentlySelectedStops()Delete any stops currently selected in the stop list.private voidenableImport(GoodsType gt)Import new goods at the selected stops.voidremoveNotify()private voidupdateButtons()Enables the remove stop button if a stop is selected and disables it otherwise.private voidupdateCargoPanel(TradeRouteStop stop)Update the cargo panel to show a given stop.voidvalueChanged(javax.swing.event.ListSelectionEvent e)private booleanverifyNewTradeRoute()Check that the trade route is valid.-
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
addClosingCallback, createColonyButton, getClientOptions, getFreeColClient, getGame, getGUI, getImageLibrary, getMap, getMyPlayer, getSmallAbstractUnitImage, getSpecification, igc, isEditable, requestFocus, setCancelComponent
-
Methods inherited from class net.sf.freecol.client.gui.panel.MigPanel
getMigLayout, getUIClassID
-
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
-
-
-
-
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.
-
allGoodsTypesPanel
private TradeRouteInputPanel.AllGoodsTypesPanel allGoodsTypesPanel
The panel displaying all goods types that could be transported.
-
stopGoodsTypesPanel
private TradeRouteInputPanel.StopGoodsTypesPanel stopGoodsTypesPanel
The panel displaying the goods types to collect at the selected stop.
-
-
Constructor Detail
-
TradeRouteInputPanel
public TradeRouteInputPanel(FreeColClient freeColClient, TradeRoute newRoute)
Create a panel to define trade route cargos.- Parameters:
freeColClient- TheFreeColClientfor the game.newRoute- TheTradeRouteto operate on.
-
-
Method Detail
-
updateCargoPanel
private void updateCargoPanel(TradeRouteStop stop)
Update the cargo panel to show a given stop.- Parameters:
stop- TheTradeRouteStopto select.
-
enableImport
private void enableImport(GoodsType gt)
Import new goods at the selected stops.- Parameters:
gt- TheGoodsTypeto import.
-
cancelImport
private void cancelImport(GoodsType gt)
Cancel import of goods at the selected stops.- Parameters:
gt- TheGoodsTypeto 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 newGoodsTypeLabel.- Parameters:
gt- TheGoodsTypefor the label.- Returns:
- A
GoodsTypeLabelfor 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:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin classFreeColPanel
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)
- Specified by:
valueChangedin interfacejavax.swing.event.ListSelectionListener
-
removeNotify
public void removeNotify()
- Overrides:
removeNotifyin classFreeColPanel
-
-