Java Swing 引入OSGI-2

今天准备将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,会弹出以下界面:

Java Swing 引入OSGI-2_第1张图片

点击“Discovery Network”,弹出扫描窗口如下,开始扫描局域网内的主机。

Java Swing 引入OSGI-2_第2张图片

扫描几个主机以后隐藏扫描窗口,在电脑图标上点击右键,会弹出右键菜单,默认是有两个菜单,分别是柱状图和饼图,也就是对应我们的两个组件。

Java Swing 引入OSGI-2_第3张图片

在控制台下面使用lb命令查看当前运行的组件,使用stop命令将组件7停止,组件7可以看到时柱状图组件

Java Swing 引入OSGI-2_第4张图片

然后在点击电脑图标,柱状图组件已经没有了。

Java Swing 引入OSGI-2_第5张图片

附件:

MainApp

柱状图

饼图





你可能感兴趣的:(Java Swing 引入OSGI-2)