`
xujunJ2EE
  • 浏览: 71061 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

用swing开发的地图导航和圆角Tooltip

阅读更多
    xiaozhonghua同学用TWaver实现了一个地图导航的控件,看了灰常喜欢,TWaver俺是买不起,就想自己用swing来实现一个玩玩,当然,和TWaver强大的功能是不能比,那可是号称10W个节点10秒就加载的,咱就喜欢它那个漂亮的样式,就画画界面。
    首先是可以加载背景地图,这个好办,用个bufferimage就可以了,然后是放大缩小移动,这里用了点心思,开始想的时候是根据缩放比例对bufferimage作整体缩放,然后根据JPanel的视图大小作块截取。后来发现,当图片比较大的时候,不断放大的化最终会内存溢出,咱就想了另外一个办法,底图大小不变,缩放实际上就是图片截取区域变化的过程。 放大:截取区域变小 缩小:截取区域变大,然后在放置到JPanel的视图上,不就OK了。其他的自适应屏幕等等的处理都是这样的。
    接着就是在背景图上放置热点,这里我对热点作了图层的分类,这也是仿照GIS的方式。每组热点可以有自己不同的渲染器,渲染器是可以自己扩展的。热点选中之后,我将原始的mouseClick事件作了封装,转成自定义的事件,这样就将选中的热点对象通过事件对象发布出去,方便使用者的调用。
    最后是那个好看的圆角tooltip,我的思路是用JLayerPanel,底层是负责绘制圆角的JPanel,然后上面是客户端传递过来的contextPanel,我负责将两者结合在一起,处理好定位问题,然后该透明的透明,就形成了一个圆角tooltip。还是那句话,swing只有你想不到的,没有你做不到的。需要注意的是,要根据热点的位置,tooltip的样式和定位是不同的,比如在右边界的热点,tooltip就要在热点的左边,这个同学们可以自己用用看。
    老规矩,代码继续公布,将map包替换我前面发布的项目中的map包就可以了。注意要先选择地图上面的工具栏才能选点,和GIS的操作方式类似。还有一些功能没有完善,比如拖动热点时,tooptip没有跟着移动,我后面会不断的完善的。




  • map.rar (18.5 KB)
  • 下载次数: 309
  • 大小: 115.3 KB
  • 大小: 121.7 KB
2
0
分享到:
评论
3 楼 zhjb_javaeye 2011-01-05  
xujunJ2EE 写道
xujun.control.XContorlUtil是在以前发布的那个项目中的,这个只是那个项目的一个控件而已,你可以查询我以前的帖子去下载


还缺少“XContorlUtil.DEFAULT_DOUBLE_FORMATER”属性。

2 楼 xujunJ2EE 2010-09-25  
xujun.control.XContorlUtil是在以前发布的那个项目中的,这个只是那个项目的一个控件而已,你可以查询我以前的帖子去下载
1 楼 itlangqun 2010-09-23  
缺少 xujun.control.XContorlUtil;请楼主附加。谢谢!!!

相关推荐

    echarts自作地图显示散点图 tooltip自定义内容

    在本文中,我们将深入探讨如何使用ECharts库创建自定义地图并显示散点图,同时定制Tooltip的内容。ECharts是一款由百度开发的基于JavaScript的数据可视化库,它支持丰富的图表类型,包括柱状图、折线图、饼图以及...

    OpenLayers地图要素tooltip[文字提示]

    OpenLayers是一个开源...QTip库的使用增强了提示信息的视觉效果,使得用户更容易理解和探索地图上的信息。记得根据实际需求调整代码,比如添加更多样式选项、处理不同类型的Feature,或者从服务器获取提示信息。

    java Swing 气泡浮动提示窗口代码

    Java Swing 是Java GUI编程库的一部分,它提供了丰富的组件和功能来创建桌面应用程序。在Swing中,有时我们需要为用户提供一种轻量级的提示机制,比如气泡浮动提示窗口,这通常用于显示临时信息或者提示。在给定的...

    锁定界面和使用ToolTip创建提示

    "锁定界面和使用ToolTip创建提示"这一主题涉及到两个关键概念:界面锁定以及ToolTip的使用。在本文中,我们将深入探讨这两个方面,尤其是对于C#开发者来说,如何在项目中实现这些功能。 首先,让我们了解一下界面...

    Tooltip

    5. **示例或测试代码**:压缩包可能包含一些示例代码,展示了如何在实际项目中使用这个Tooltip类,以便于开发者理解和应用。 通过学习和使用【gToolTip_Src】中的源代码,开发者可以更轻松地在自己的应用程序中集成...

    blockUI 和tooltip 使用

    在IT行业中,前端开发经常会遇到需要提升用户体验的场景,这时候`blockUI`和`tooltip`两种技术就显得尤为重要。`blockUI`主要用于在页面进行加载或者处理操作时阻止用户交互,提供一个反馈提示,让用户知道系统正在...

    java swing-JToolTip的使用

    JToolTip 是 Java Swing 库提供的一个工具提示组件,用于在鼠标悬停或其他交互事件发生时显示文本提示信息。

    3D地球+自定义tooltip,自定义样式完美显示

    在IT行业中,ECharts是一款非常流行的、基于JavaScript的数据可视化库,尤其在Web开发领域,它提供了丰富的图表类型和强大的交互功能。本项目聚焦于“3D地球”这一ECharts的特色功能,结合自定义的tooltip(提示框)...

    MaskedTextBox和toolTip 一起使用

    在Windows Forms应用程序开发中,`MaskedTextBox`控件和`ToolTip`控件是两种非常实用的元素。`MaskedTextBox`允许用户按照预定义的模式输入数据,确保输入的数据格式正确,而`ToolTip`则可以在鼠标悬停时显示额外的...

    tooltip

    对于想要入门Web开发或提升tooltip技能的新手来说,这些都是非常实用的学习素材。通过研究这些文件,初学者不仅可以了解基本的Web技术,还能掌握如何将它们结合起来创建出更具吸引力和功能性的交互元素。

    C# 使用GDI+绘制漂亮的ToolTip控件

    - 用`Pen`定义边框线条,可设定宽度和颜色。 - 添加图像,使用`Image`对象结合`Graphics.DrawImage()`方法,支持大图标和小图标。 - 调整透明度,通过`Graphics.CompositingMode`属性设置混合模式,实现半透明...

    ToolTip提示脚本文件

    例如,我们可以在一个网页中使用`wz_tooltip.js`来创建基本的ToolTip,然后通过`tip_centerwindow.js`使其居中,再用`tip_followscroll.js`使它随滚动条移动,从而为用户提供更流畅的交互体验。 要了解如何使用这些...

    表格单元格自定义ToolTip组件

    在IT行业中,尤其是在Web开发领域,用户界面(UI)的设计至关重要,因为它直接影响到用户的体验和效率。"表格单元格自定义ToolTip组件"是一个专门解决UI交互问题的工具,它允许开发者根据需求为表格中的每个单元格提供...

    echarts tooltip 轮播

    我们可以使用`tooltip.backgroundColor`来改变背景颜色,`borderColor`和`borderWidth`来设定边框,`padding`来调整内部间距,甚至可以通过`extraCssText`添加自定义CSS样式。此外,还可以通过`textStyle`配置项来...

    标准控件及数据窗口的tooltip示例

    在开发应用程序时,为了提供更好的用户体验,我们常常需要在用户与界面交互时提供额外的信息。在PowerBuilder(PB)环境中,"标准控件"和"数据窗口"是两个核心元素,而"tooltip"则是一种非常实用的功能,可以显示在...

    jquery实现Tooltip提示(文字、链接、地图锚点),自带5种不同样式

    在网页设计和开发中,Tooltip是一种常见的交互元素,它能够为用户提供额外的信息,通常在鼠标悬停时显示。本教程将深入探讨如何使用jQuery来实现Tooltip提示,包括文字、链接和地图锚点,并且自带五种不同的样式,以...

    37.(leaflet篇)leaflet叠加自定义tooltip展示.zip

    在本教程中,我们将深入探讨如何使用Leaflet库在地图上叠加自定义的tooltip,以增强用户交互体验。Leaflet是一个轻量级的JavaScript库,专门用于创建交互式地图,适用于各种Web应用。通过自定义tooltip,我们可以为...

    WPF修改Tooltip样式

    以下是一个简单的例子,添加了圆角和阴影效果: ```xml <Style TargetType="{x:Type ToolTip}"> ... <ControlTemplate TargetType="{x:Type ToolTip}"> BorderBrush="{TemplateBinding BorderBrush}" ...

    MFC最全ToolTip例子+源文件

    `MFC最全ToolTip例子+源文件`这个资源包提供了关于如何在MFC应用程序中使用ToolTip的详细示例和源代码,对于开发者来说,无论是快速集成到项目还是深入学习都极具价值。 1. **ToolTip控件介绍** ToolTip控件是...

Global site tag (gtag.js) - Google Analytics