最开始使用的是@Serviceprovider(service=Mp3Finder.clss),可以自动地成为服务提供者,然后为服务应用方提供服务。但是,Serviceprovider不能使用instanceCreate,所以在每次用Lookup.getDefault.lookup(Mp3Finder.classs)时,总是创建一个新的对象而不是引用已存在的对象。
后来,在一个英文网站上找到了使用layer.xml直接定义Services的方法,一试果然管用,哈哈真不错。
--必须
--名字可自定义
--名字可自定义
--必须能够找到Mp3DatabaseFinder类,扩展了Mp3Finder接口
methodvalue="com.galileo.netbeans.module.Mp3DatabaseFinder.getDefault"/>--getDefault为Mp3DatabaseFinder类的默认的构造函数
该段代码直接加在layer.xml文件中,然后这样使用:
Mp3Finder finder= Lookup.getDefault().lookup(Mp3Finder.class);
finder.XX();调用Mp3Finder接口定义的函数即可。
如果有多个类扩展了Mp3Finder接口,可以用这个
Lookup.getDefault().lookup(Mp3Finder.class);
怎么弄的我有点忘记了,每次我都先把上面一行写上然后按Alt+Enter,然后自动定义一个变量,哈哈,偷懒无罪!
阅读(524) | 评论(0) | 转发(0) |