|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。 |
|