当前位置: 首页 > 面试题库 >

如何在JMapViewer中将工具提示添加到MapMarker

萧树
2023-03-14
问题内容

我想要一个添加ToolTip到自定义MapMarkerJMapViewer 。但是,取消搜索并不能帮助我解决这个问题。

自定义 MapMarker 为:

public class MapMarkerUnit extends MapObjectImpl implements MapMarker

绘制方法的覆盖是

public void paint(Graphics g, Point position, int radio) {
    String filename = "marker.png";
    //System.out.print(filename);
    BufferedImage x = null;
    try {
        x = ImageIO.read(getClass().getResource(filename));
    } catch (IOException ex) {
        Logger.getLogger(MapMarkerUnit.class.getName()).log(Level.SEVERE, null, ex);
    }

    g.drawImage(x, position.x-16, position.y-37,null);

    //if(getLayer()==null||getLayer().isVisibleTexts()) paintText(g, new       Point(position.x+20,position.y));
}

感谢您提供的任何帮助。


问题答案:

覆盖的getToolTipText()方法JMapViewer。在您的实现中,用于getPosition()MouseEvent坐标转换为大地坐标。下面的示例仅显示未格式化的坐标。您需要找到最接近MapMarker的文本并返回适当的文本。

JMapViewer map = new JMapViewer() {

    @Override
    public String getToolTipText(MouseEvent e) {
        Coordinate c = getPosition(e.getX(), e.getY());
        return c.getLat() + " " + c.getLon();
    }
};
map.setToolTipText(""); // initialize

附录: 是否可以将工具提示直接添加到图像?

没有; JMapViewerJComponent处理工具提示的外壳。

我在地图上大约有50个标记…这是很多次迭代。

您肯定无法在MapMarker实现中加载图像;使用SWingWorker加载的图像的背景下。

作为一个具体的迭代示例,JFreeChart可以通过这种方式轻松地处理实体分数的工具提示。这是封闭面板的getToolTipText()实现,这是调用的循环Shape#contains()。此处显示了一个简化的示例,说明了该方法。



 类似资料:
  • 问题内容: 我有这样的div标签: 如何在div 上显示工具提示,最好具有淡入/淡出效果。 问题答案: 对于基本工具提示,您需要: 对于更高级的javascript版本,您可以查看以下内容: https://jqueryhouse.com/best-jquery-tooltip- plugins/ 上面的链接为您提供了25个工具提示选项。

  • 问题内容: 在下面的代码中,我希望用户悬停跨度时出现工具提示,我该怎么做?我不想使用任何链接。 问题答案: 这是简单的内置方法: 这为您提供纯文本工具提示。如果要使用格式丰富的HTML的丰富工具提示,则需要使用库来完成。幸运的是,这些工作量很大。

  • 问题内容: 我有一系列的svg矩形(使用D3.js),我想在鼠标悬停时显示一条消息,该消息应被用作背景的框包围。它们应彼此完全对齐,并与矩形(顶部和中心)完全对齐。做这个的最好方式是什么? 我尝试使用“ x”,“ y”,“ width”和“ height”属性添加svg文本,然后在svg rect之前添加。问题是文本的参考点在中间(因为我想使它居中对齐),但是对于矩形,它是左上角的坐标,而且我想在

  • 问题内容: 如何在JTable的行中添加工具提示(Java Swing)?这些工具提示应包含相对行的相同值。 这是我在扩展JTable的类中使用的代码。它覆盖了方法“ prepareRenderer”,但是我得到了空单元格,并且为行中的每个单元格添加了一个工具提示,而不是整个行的一个工具提示(这就是我想要的): 问题答案: 它为行中的每个单元格添加了一个工具提示,而不是整个行中的一个工具提示 您正

  • 我有一系列svg矩形(使用D3.js),我想在mouseover上显示一条消息,该消息应该被一个充当背景的框包围。它们应该彼此完全对齐,并与矩形(在顶部和居中)完全对齐。做这件事最好的方法是什么? 我尝试使用“x”、“y”、“width”和“height”属性添加一个svg文本,然后预置一个svg rect。问题是文本的参考点在中间(因为我希望它居中对齐,所以我使用了),但对于矩形,它是左上的坐标

  • 我想在我的模型中使用“reason”属性为添加一个工具提示。我该怎么做?