public class TileSelectionBBoxChooser extends javax.swing.JPanel implements BBoxChooser
JFrame f = new JFrame(....); f.getContentPane().setLayout(new BorderLayout())); TileSelectionBBoxChooser chooser = new TileSelectionBBoxChooser(); f.add(chooser, BorderLayout.CENTER); chooser.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // listen for BBOX events if (evt.getPropertyName().equals(BBoxChooser.BBOX_PROP)) { Main.info("new bbox based on OSM tiles selected: " + (Bounds)evt.getNewValue()); } } }); // init the chooser with a bounding box chooser.setBoundingBox(....); f.setVisible(true);
Modifier and Type | Class and Description |
---|---|
private static class |
TileSelectionBBoxChooser.TileAddressInputPanel
A panel for entering the address of a single OSM tile at a given zoom level.
|
private static class |
TileSelectionBBoxChooser.TileAddressValidator
Validates a tile address
|
private static class |
TileSelectionBBoxChooser.TileBounds
Represents a rectangular area of tiles at a given zoom level.
|
(package private) class |
TileSelectionBBoxChooser.TileBoundsChangeListener
Listens to changes in the selected tile bounds, refreshes the map view and emits
property change events for
BBoxChooser.BBOX_PROP |
private static class |
TileSelectionBBoxChooser.TileBoundsMapView
The map view used in this bounding box chooser
|
private static class |
TileSelectionBBoxChooser.TileCoordinateValidator
Validates the x- or y-coordinate of a tile at a given zoom level.
|
private static class |
TileSelectionBBoxChooser.TileGridInputPanel
A panel for describing a rectangular area of OSM tiles at a given zoom level.
|
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private Bounds |
bbox
the current bounding box
|
private TileSelectionBBoxChooser.TileBoundsMapView |
mapViewer
the map viewer showing the selected bounding box
|
private TileSelectionBBoxChooser.TileAddressInputPanel |
pnlTileAddress
a panel for entering a bounding box given by the address of an individual OSM tile at
a given zoom level
|
private TileSelectionBBoxChooser.TileGridInputPanel |
pnlTileGrid
a panel for entering a bounding box given by a tile grid and a zoom level
|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
BBOX_PROP
Constructor and Description |
---|
TileSelectionBBoxChooser()
Constructs a new
TileSelectionBBoxChooser . |
Modifier and Type | Method and Description |
---|---|
protected void |
build()
builds the UI
|
protected Bounds |
convertTileBoundsToBoundingBox(TileSelectionBBoxChooser.TileBounds tb)
Computes the bounding box given a tile grid.
|
Bounds |
getBoundingBox()
Replies the current bounding box.
|
protected LatLon |
getNorthWestLatLonOfTile(java.awt.Point tile,
int zoom)
Replies lat/lon of the north/west-corner of a tile at a specific zoom level
|
protected void |
refreshMapView() |
void |
setBoundingBox(Bounds bbox)
Sets the current bounding box.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, 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
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private TileSelectionBBoxChooser.TileBoundsMapView mapViewer
private TileSelectionBBoxChooser.TileGridInputPanel pnlTileGrid
private TileSelectionBBoxChooser.TileAddressInputPanel pnlTileAddress
public TileSelectionBBoxChooser()
TileSelectionBBoxChooser
.protected final void build()
public Bounds getBoundingBox()
getBoundingBox
in interface BBoxChooser
public void setBoundingBox(Bounds bbox)
setBoundingBox
in interface BBoxChooser
bbox
- the bounding box. null, if this widget isn't initialized with a bounding boxprotected void refreshMapView()
protected Bounds convertTileBoundsToBoundingBox(TileSelectionBBoxChooser.TileBounds tb)
tb
- the description of the tile gridprotected LatLon getNorthWestLatLonOfTile(java.awt.Point tile, int zoom)
tile
- the tile address (x,y)zoom
- the zoom level