java - 将 JLabel 添加到 JMapViewer

标签 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();

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

最佳答案

请注意,JMapViewer 扩展了 JPanel 并调用了 setLayout(null)。缺少与 label.setBounds() 等价的东西,标签永远不会出现。相反,利用其中一个接受标签字符串的 MapMarkerDot 构造函数:

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

关于java - 将 JLabel 添加到 JMapViewer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823388/

相关文章:

java - 如何在另一个json中的json中获取json?

java - EJB3/JPA @Transactional

java - JFrame 在滚动面板中显示标签

java - 调用 setBackground() 和 setBorder() 时 JLabel 不会改变

java - 在 JPanel 重绘上更改位置 JLabel

java - Firebase数据库,查找现有值

java - 下载的 Amazon S3 文件不包含数据

java - Java 中的 ActionPerformed 方法

java - JFrame.getContentPane() 和 JFrame.getRootPane() 有什么区别?

java - 添加到 GUI 后动态更改 JLabel 图标?