`
baiguomeng
  • 浏览: 958187 次
文章分类
社区版块
存档分类
最新评论

代码,我回来了:P

 
阅读更多
好久没有写blog了。好象只要一放假,我就没有心情写blog,大概是现在太忙了吧:P

现在在bstek做实习生,看现在的情况来看的话,我可能做研发,这是我最有兴趣的,我想研发
应该是所有喜欢编程的朋友最喜欢的事了吧。做自己的事,总是不会觉得累;相反,如果是做自己
没有兴趣的或者枯燥乏味的工作,每天晚上睡10个小时白天都会犯困。

还有一个好消息,我们经理把他以前用的笔记本给我用,可以带回家的。感觉太爽了。。。

这个星期是在编程中度过的,好久没有写代码了,有点手生,但是还是完成了任务:)

技术笔记:
昨天写了一段代码,不过老是出错,是这样子的:

一、错误代码:
List list = logic.getChildren();

for (Iterator iterator = list.iterator(); iterator.hasNext();){
A a = (A)iterator().next();

if(aIsUseFul){
doXXX(a);

continue;
}
iterator.remove(a); //throw Exception!!!
}

看来遍历一个List时,不能对它进行remove或add。呵呵,写在这里,记下来。

二、TreeView选择对象类型的判断:
还有就是jface中的TreeView:

它的getSelection方法返回的IStructuredSelection并不是我们的model,而是一个
数据集合,所以用它的类型来和model比较是不会一样的。
可以这样写:

IStructuredSelection selection= (IStructuredSelection)viewer.getSelection();
if (selection.size() == 1) {
Object element= selection.getFirstElement();
if (element instanceof DataSet) {
((AddColumnAction)addColumnAction).setDataSet((DataSet)element);
addColumnAction.setEnabled(true);
}else
addColumnAction.setEnabled(false);
}
好久没写插件了,好多都忘了呵呵。

三、引入第三方包:
有一个比较重要的,就是在做eclipse插件时,如果引入第三方包的设置问题。

如果一般的包,用以前《RCP》里讲的方法,新建一个Plug-in from existing JAR就ok了。

但是如果是象log4j,commons包里的digester,这样做就不行了,会抛出许多
ClassNotFoundExceptions 和 NoClassDefFoundErrors。因为它们用到了java的反射机制,
而它们的classloader不能访问到我们的类。

解决办法非常简单,eclipse 3.2的plugin.xml编辑器里就能搞定:

1.先在project属性里找到Java Build Path,在Libraries面板中加入第三方jar文件,然后在
Order and Export中选择这些包。

2.回到plugin.xml编辑器,在runtime面板中的Exported Package中添加所有包。
然后在右下角的Classpath中加入第三方jar文件就ok了。

四、解析xml文件
commons包中的digester包非常好用:P

这个星期写了个eclipse小插件,主要是通过UI来编辑xml配置文件。
发几张截图上来。
分享到:
评论

相关推荐

    永远删除.BAT ...好用

    第二步:在桌面新建一个文本文件,并将以下代码复制进去: @0echo off echo .* * *W A R N I N G * * * echo . echo .The File(s)/Folders(s) Will Be Permanently Deleted! echo . echo .Press CTRL-C to Abort...

    JAVA 学生管理系统(代码)

    该代码旨在完成一个MVC模式的学生管理系统,系统中使用DBUtil+C3P0数据库连接池连接mysql数据库,其中数据库的名称可以查询C3P0的配置文件,系统界面通过jstl标签用于展示数据,系统中含有分页代码。系统思路通过...

    项目源代码的百度网盘地址.txt

    这是在上android移动开发课程时。自己编写的一个小型的APK,因为自己是小白,所以我觉得我这个文件项目非常适合刚入门的小白学习,代码简单,但是涉及到多个方面,适合学习,大牛勿喷

    xmljava系统源码-rapid-generator:基于FreeMarker的rapid-generator代码生成器

    半手工方式,生成的代码放在某个目录,再手工拷贝回来工作区 易于做二次开发,整个生成器本身就是java源代码,源代码核心十分精简,并且鼓励你修改代码,也可以作为任何语言的代码生成器 配置简单,只有一个配置文件...

    xheditor v1.0.0 rc2 build 100401

    修正:Firefox 3.6从源代码切换回来光标丢失问题的修正 修正:p和div标签内部的 占位符被清除,造成块标签零高度问题的修正 修正:IE拖动img大小不更新width和height属性值问题的修正 修正:IE浏览器下在...

    Delphi最新三层源码

    property PClassName: TClass read getClassName write setClassName; property POLEData: OleVariant read GetOLEData write SetOLEData; property PValueObject: TValueObject read getValueObject write ...

    YUYV(YUY2)转YUV420

    由于xvid不能直接识别yuyv格式的帧, 但是大部分摄像头采集回来的帧格式都是yuyv, 固需要格式转换。

    netcat 瑞士军刀 linux windows netcat 瑞士军刀 linux windows

    看看页面的源代码,是在服务器端 执行的perl脚本,根本无法看到,还是研究一下IE5和它通信时都告诉了它什么,抓包,我们会发现,我们的IE5告诉对方: 我是MSIE 5.0; Windows NT 5.0; .NET CLR 1.0.3705。。。。哈哈...

    富有弹性的「Limber」-crx插件

    Limber知道你什么时候不在身边,并会自动关闭通知,直到你回来。 源代码:https://github.com/lsharir/limber [1]不同办公椅对脊柱角度影响的试验调查https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3326090/ [2] ...

    苹果8XPC和手机二合一完整版

    <LI>{maccms:username},欢迎您回来! 推荐人数:{maccms:usertj} 账户积分:{maccms:userpoints} 登录次数:{maccms:userloginnum} 登录时间:{maccms:userlogintime} <LI><A href="{maccms:path}index....

    毕业设计-JDTASKV2P Docker环境下搭建用elecV2P执行JDTASK的方案.zip

    到时候你会回来感谢我的。 本资源是经过本地编译测试、可打开、可运行的项目、文件或源码,可以用于毕业设计、课程设计的应用、参考和学习需求,请放心下载。 祝愿你在这个毕业设计项目中取得巨大进步,顺利毕业!...

    pytest-xdist:pytest插件,用于分布式测试和失败循环测试模式

    xdist:pytest分布式测试插件插件通过一些独特的测试执行模式扩展了pytest: 测试运行:如果您有多个CPU或主机,则可以将它们用于组合的测试运行。 这样可以加快开发速度或...安装使用以下命令安装插件: pip install p

    JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)

    因为我在这里介绍概念上的东西比较... <h1>CSS Demo</h1> <p>我喜欢美女,特别是高个的美女</p> </body> </html> 这个文档的DOM表示如下图: 图片表示一个HTML文档的树. 所有DOM树结构表现为不同种类的No

    Python批量生成幻影坦克图片实例代码

    前言 说到幻影坦克,我就想起...我跟你说个P~ UBG 不过话说回来,里面有一句说到和背景融合,这大概就是这种图片的原理所在了。 一些聊天软件或网站总是以白色背景和黑色背景(夜间模式)显示图片,你在默认的白色

    layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法

    当选中一些数据的时候, 数据切换页面数据在切换回来后,选中状态就消失了, 我们希望切换回来的时候, 选中状态还能存在, 因此做了个缓存, 使checkbox 保持选中状态.代码如下: 1.HTML 搜索输入框 <form class=layui...

    WordPress-PHP

    <p>网站显示出了点问题,但是你无法完全搞清楚你的 CSS 代码错在了哪里,这是时常会遇到的情况。WordPress 4.9 给 CSS 样式编辑器和 WordPress 4.8.1 增加的 HTML 小工具,增加了语法高亮显示和错误检查功能,你...

    方维p2p借贷商业系统3.1完整版,无任何限制

    非常棒的一套p2pp2p借贷,方维p2p借贷系统.1商业版,没有任何的限制,任何域名都可以使用。源码非常干净,绝对纯净版。咱们这里一直都是分享最干净的源码,不会像外面所谓vip源码论坛在源码里面加入大量的垃圾广告...

    webrender:用于 Web 的基于 GPU 的渲染器

    请注意,此代码的规范主页位于的 mozilla-central 存储库的 gfx/wr 文件夹中。 位于的 Github 存储库应被视为下游镜像,尽管它包含 mozilla-central 中不存在的其他元数据(例如 Github wiki 页面)。 对 Github ...

    华为编程开发规范与案例

    近日在CDB并行测试中发现一个问题:我们需要的小区负荷话统结果总是为零,开始还以为小区负荷太小,于是加大短消息下发数量,但还为零,于是在程序中加入测试代码,把收到的数据在BAM上打印出来, 结果打印出来的...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    (XML取消了所有标识,包括font,color,p等风格样式定义标识,因此XML全部是采用类似DHTML中CSS的方法来定义文档风格样式。),XML中用来设定显示风格样式的文件类型有: 1.XSL XSL全称是Extensible Stylesheet ...

Global site tag (gtag.js) - Google Analytics