仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 480|回复: 11
打印 上一主题 下一主题

[学习教程] 来看把持Swing中ToolTip的显现与埋没

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。
先给出两个把持办法
1、显现tooltip
publicstaticvoidpostToolTip(JComponentcomp){
 Actionaction=comp.getActionMap().get("postTip");
 if(action==null)//notooltip
 return;
 ActionEventae=newActionEvent(comp,ActionEvent.ACTION_PERFORMED,"postTip",EventQueue.getMostRecentEventTime(),0);
 action.actionPerformed(ae);
}
2、埋没tooltip
publicstaticvoidhideToolTip(JComponentcomp){
 Actionaction=comp.getActionMap().get("hideTip");
 if(action==null)//notooltip
 return;
 ActionEventae=newActionEvent(comp,ActionEvent.ACTION_PERFORMED,"hideTip",EventQueue.getMostRecentEventTime(),0);
 action.actionPerformed(ae);
}
tooltip的显现与埋没都是经由过程ToolTipManager这个类来把持的
当componet.setToolTipText的时分java的外部处置为publicvoidsetToolTipText(Stringtext){
    StringoldText=getToolTipText();
    putClientProperty(TOOL_TIP_TEXT_KEY,text);
    ToolTipManagertoolTipManager=ToolTipManager.sharedInstance();
    if(text!=null){
  if(oldText==null){
        toolTipManager.registerComponent(this);
  }
    }else{
      toolTipManager.unregisterComponent(this);
    }
  }
而在ToolTipManager的registerComponent办法中将两个Action增加到了组件的actionMap中,
详细的acton完成能够参考ToolTipManager。
ActionMapactionMap=component.getActionMap();
  if(inputMap!=null&&actionMap!=null){
   actionMap.put("postTip",postTipAction);
   actionMap.put("hideTip",hideTipAction);
上述两个办法就是获得这两个Action,然后挪用响应的Action办法来把持tooltip的显现与埋没。
<p>
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。
小女巫 该用户已被删除
沙发
发表于 2015-1-20 15:50:30 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
谁可相欹 该用户已被删除
板凳
发表于 2015-1-23 06:01:32 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
再现理想 该用户已被删除
地板
发表于 2015-1-31 14:54:48 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
简单生活 该用户已被删除
5#
发表于 2015-2-6 17:03:44 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-7 04:54:12 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
透明 该用户已被删除
7#
发表于 2015-2-8 08:50:09 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
冷月葬花魂 该用户已被删除
8#
发表于 2015-2-11 00:35:11 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
乐观 该用户已被删除
9#
发表于 2015-3-1 18:50:58 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
因胸联盟 该用户已被删除
10#
发表于 2015-3-10 22:04:13 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
飘灵儿 该用户已被删除
11#
发表于 2015-3-17 11:09:31 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
admin 该用户已被删除
12#
发表于 2015-3-24 08:22:41 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表