将JLabel添加到JMapViewer

时间:2014-04-02 21:23:40

标签: java swing jlabel jmapviewer

您好我正在尝试将JLabel添加到JMapViewer,我目前的代码是

 JLabel label = new JLabel(jlabels[x]);
        Point point = map.getMapPosition(lat, lng, false);
        map.add(label);
        label.setLocation(point);
        MapMarker marker = new MapMarkerDot(lat, lng);
        map.addMapMarker(marker);
        map.validate();
        map.repaint();

然而,似乎根本没有添加标签。我不知道我还能做些什么让它发挥作用。还有其他几个问题,但没有任何答案,所以想知道是否有人可以提供帮助?

1 个答案:

答案 0 :(得分:3)

请注意JMapViewer extends JPanel并调用setLayout(null)。缺少等同于label.setBounds()的东西,标签将永远不会出现。相反,利用允许标签字符串的MapMarkerDot构造函数之一:

Coordinate paris = new Coordinate(48.8567, 2.3508);
map.addMapMarker(new MapMarkerDot("Paris", paris));