1

您好我正在尝试将 a 添加JLabel到 a 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();

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

4

1 回答 1

3

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

Coordinate paris = new Coordinate(48.8567, 2.3508);
map.addMapMarker(new MapMarkerDot("Paris", paris));
于 2014-04-02T23:51:22.983 回答