今天准备将Swing界面中的菜单进行组件化,界面没有自己写,使用了Twaver的Demo,在上面进行一些扩展。
三个工程代码见附件,执行felix框架之前,要修改一下“conf\config.properties”这个文件,将其中的“org.osgi.framework.bootdelegation”前面的“#”号去掉,“=”号后面的值修改为“*”,最后效果
# The following property makes specified packages from the class path
# available to all bundles. You should avoid using this property.
org.osgi.framework.bootdelegation=*
# Felix tries to guess when to implicitly boot delegate in certain
# situations to ease integration without outside code. This feature
# is enabled by default, uncomment the following line to disable it.
#felix.bootdelegation.implicit=false
修改上面文件后就可以显示Swing界面了,不修改的话找不到Swing相关的类。
将三个工程Jar直接放到bundle目录下,启动felix,会弹出以下界面:
点击“Discovery Network”,弹出扫描窗口如下,开始扫描局域网内的主机。
扫描几个主机以后隐藏扫描窗口,在电脑图标上点击右键,会弹出右键菜单,默认是有两个菜单,分别是柱状图和饼图,也就是对应我们的两个组件。
在控制台下面使用lb命令查看当前运行的组件,使用stop命令将组件7停止,组件7可以看到时柱状图组件
然后在点击电脑图标,柱状图组件已经没有了。
附件: