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)) {
Logging.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.AccessibleJPaneljavax.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
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTBBOX_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, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCycleprivate final TileSelectionBBoxChooser.TileBoundsMapView mapViewer
private final TileSelectionBBoxChooser.TileGridInputPanel pnlTileGrid
private final TileSelectionBBoxChooser.TileAddressInputPanel pnlTileAddress
public TileSelectionBBoxChooser()
TileSelectionBBoxChooser.protected final void build()
public Bounds getBoundingBox()
getBoundingBox in interface BBoxChooserpublic void setBoundingBox(Bounds bbox)
setBoundingBox in interface BBoxChooserbbox - 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