本文整理汇总了Java中org.jdesktop.swingx.mapviewer.WaypointPainter.setRenderer方法的典型用法代码示例。如果您正苦于以下问题:Java WaypointPainter.setRenderer方法的具体用法?Java WaypointPainter.setRenderer怎么用?Java WaypointPainter.setRenderer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jdesktop.swingx.mapviewer.WaypointPainter
的用法示例。
在下文中一共展示了WaypointPainter.setRenderer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: hDrawButtonActionPerformed
import org.jdesktop.swingx.mapviewer.WaypointPainter; //导入方法依赖的package包/类
/**
* Draws the Waypoints on the map that are sized and colored according to
* the provided hubness information. Larger circles correspond to larger
* hubs in the data and the color corresponds to whether their influence is
* beneficial or detrimental on the analysis. Red coloring corresponds to
* high bad hubness.
*
* @param evt ActionEvent object.
*/
private void hDrawButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hDrawButtonActionPerformed
// Initialize the waypoints.
Set<Waypoint> waypoints = new HashSet<>(latitudeLongitudeData.size());
for (int i = 0; i < latitudeLongitudeData.size(); i++) {
waypoints.add(new SensorWayPoint(
latitudeLongitudeData.data.get(i).fAttr[0],
-latitudeLongitudeData.data.get(i).fAttr[1],
hubnessArray[i],
badHubnessArray[i]));
}
// Create a WaypointPainter to draw the points.
WaypointPainter painter = new WaypointPainter();
painter.setWaypoints(waypoints);
painter.setRenderer(new WaypointRenderer() {
@Override
public boolean paintWaypoint(Graphics2D g, JXMapViewer map,
Waypoint wp) {
SensorWayPoint waypoint = (SensorWayPoint) wp;
float darkRange = 0.25f;
float redRange = 0.5f;
float greenRange = 0.5f;
// Calculate the badness coefficient that will be used to
// determine the Waypoint color in the visualization.
float badnessCoefficient;
if (maxBadHubness != minBadHubness) {
badnessCoefficient =
(waypoint.getBadHubness() - minBadHubness)
/ (maxBadHubness - minBadHubness);
} else {
badnessCoefficient = 0;
}
float r = badnessCoefficient * darkRange
+ badnessCoefficient * redRange;
float gr = badnessCoefficient * darkRange
+ (1 - badnessCoefficient) * greenRange;
float b = badnessCoefficient * darkRange;
Color currColor = new Color(r, gr, b);
// Get the zoom level.
int zLevel = jXMapKit1.getMainMap().getZoom();
// Determine the radius according the the relative hubness
// score.
int radius = (int) ((((waypoint.getHubness() - minHubness)
/ (maxHubness - minHubness)) * (radiusMax - radiusMin))
+ radiusMin);
if (zLevel < 14 && zLevel >= 12) {
radius += 4;
} else if (zLevel < 12 && zLevel >= 10) {
radius += 8;
} else if (zLevel < 10) {
radius += 12;
}
g.setColor(currColor);
g.fillOval(-radius, -radius, 2 * radius, 2 * radius);
return true;
}
});
jXMapKit1.getMainMap().setOverlayPainter(painter);
}
示例2: init
import org.jdesktop.swingx.mapviewer.WaypointPainter; //导入方法依赖的package包/类
private void init(Track track) {
Segmenter segmenter = this.segmentationUnit == null ? Segmenter.NULL_SEGMENTER
: Segmenters.getSegmenter(this.segmentationUnit);
this.track = segmenter.segment(checkNotNull(track, "Track is null")); //$NON-NLS-1$
Theme trackTheme = theme;
this.waypointPainter = new SegmentBorderWaypointPainter(this.track,
this.segmentationUnit);
this.waypointPainter.setRenderer(new WaypointRendererDelegate(
createWaypointRenderers(trackTheme)));
Font font = new Font(Font.SANS_SERIF, 0, 12);
List<Segment> activeSegment = this.activeSegment == null ? Collections
.<Segment> emptyList() : Collections
.singletonList(this.activeSegment);
List<Painter<JXMapViewer>> painters = Lists.newArrayList();
int cnt = 0;
for (AdditonalTrackInfo adti : this.additionalTracks) {
Track addTrack = segmenter.segment(adti.getTrack());
WaypointPainter<JXMapViewer> painter = new SegmentBorderWaypointPainter(
addTrack, this.segmentationUnit);
painter.setRenderer(new WaypointRendererDelegate(proxyAll(
adti.getXoffset(), adti.getYoffset(),
createWaypointRenderers(adti.getTheme()))));
painters.addAll(ImmutableList.of(
new OffsetPainterDelegate(new TrackOutlinePainter(addTrack,
adti.getTheme(), stroke), adti.getXoffset(), adti
.getYoffset()),
new OffsetPainterDelegate(new TrackPainter(addTrack, adti
.getTheme(), stroke), adti.getXoffset(), adti
.getYoffset()),
new OffsetPainterDelegate(new HighlightTrackPainter(
this.highlighter.segment(addTrack),
adti.getTheme(), stroke), adti.getXoffset(), adti
.getYoffset()),
painter,
new OffsetPainterDelegate(new HighlightTrackPainter(
new DefaultTrack(track.getId(),
track.getMetadata(), track.getWaypoints(),
activeSegment, track.getStatistics()), adti
.getTheme(), stroke), adti.getXoffset(),
adti.getYoffset()), painter));
if (this.infoBoxEnabled) {
painters.add(new OffsetPainterDelegate(new InfoBoxPainter(
addTrack, adti.getTheme(), font), 0, (++cnt) * 25));
}
}
painters.addAll(ImmutableList.of(
new TrackOutlinePainter(this.track, trackTheme, stroke),
new TrackPainter(this.track, trackTheme, stroke),
new MarkedWaypointPainter(this.dsf, track),
new HighlightTrackPainter(this.highlighter.segment(this.track),
trackTheme, stroke),
this.waypointPainter,
new HighlightTrackPainter(new DefaultTrack(track.getId(), track
.getMetadata(), track.getWaypoints(), activeSegment,
track.getStatistics()), trackTheme, stroke),
this.waypointPainter));
if (this.infoBoxEnabled) {
painters.add(new InfoBoxPainter(this.track, trackTheme, font));
}
this.mapKit.getMainMap().setOverlayPainter(
new StackedPainter<JXMapViewer>(Orderings.classTypeOrdering(
ImmutableList.of(TrackOutlinePainter.class,
TrackPainter.class,
HighlightTrackPainter.class,
WaypointPainter.class,
SegmentBorderWaypointPainter.class,
InfoBoxPainter.class)).sortedCopy(painters)));
}
示例3: main
import org.jdesktop.swingx.mapviewer.WaypointPainter; //导入方法依赖的package包/类
/**
* @param args the program args (ignored)
*/
public static void main(String[] args)
{
// Create a TileFactoryInfo for Virtual Earth
TileFactoryInfo info = new VirtualEarthTileFactoryInfo(VirtualEarthTileFactoryInfo.MAP);
DefaultTileFactory tileFactory = new DefaultTileFactory(info);
tileFactory.setThreadPoolSize(8);
// Setup local file cache
File cacheDir = new File(System.getProperty("user.home") + File.separator + ".jxmapviewer2");
LocalResponseCache.installResponseCache(info.getBaseURL(), cacheDir, false);
// Setup JXMapViewer
JXMapViewer mapViewer = new JXMapViewer();
mapViewer.setTileFactory(tileFactory);
GeoPosition frankfurt = new GeoPosition(50, 7, 0, 8, 41, 0);
GeoPosition wiesbaden = new GeoPosition(50, 5, 0, 8, 14, 0);
GeoPosition mainz = new GeoPosition(50, 0, 0, 8, 16, 0);
GeoPosition darmstadt = new GeoPosition(49, 52, 0, 8, 39, 0);
GeoPosition offenbach = new GeoPosition(50, 6, 0, 8, 46, 0);
// Set the focus
mapViewer.setZoom(10);
mapViewer.setAddressLocation(frankfurt);
// Add interactions
MouseInputListener mia = new PanMouseInputListener(mapViewer);
mapViewer.addMouseListener(mia);
mapViewer.addMouseMotionListener(mia);
mapViewer.addMouseListener(new CenterMapListener(mapViewer));
mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCenter(mapViewer));
mapViewer.addKeyListener(new PanKeyListener(mapViewer));
// Create waypoints from the geo-positions
Set<MyWaypoint> waypoints = new HashSet<MyWaypoint>(Arrays.asList(
new MyWaypoint("F", Color.ORANGE, frankfurt),
new MyWaypoint("W", Color.CYAN, wiesbaden),
new MyWaypoint("M", Color.GRAY, mainz),
new MyWaypoint("D", Color.MAGENTA, darmstadt),
new MyWaypoint("O", Color.GREEN, offenbach)));
// Create a waypoint painter that takes all the waypoints
WaypointPainter<MyWaypoint> waypointPainter = new WaypointPainter<MyWaypoint>();
waypointPainter.setWaypoints(waypoints);
waypointPainter.setRenderer(new FancyWaypointRenderer());
mapViewer.setOverlayPainter(waypointPainter);
// Display the viewer in a JFrame
JFrame frame = new JFrame("JXMapviewer2 Example 4");
frame.getContentPane().add(mapViewer);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}