此文是对前篇文章的补充.很多人都觉得swing并不是java的强大之处,我对swing不熟悉.
使用Jgoodies,先添加依赖.
<dependency>
<groupId>com.jgoodies</groupId>
<artifactId>forms</artifactId>
<version>1.2.1</version>
</dependency>
test下面有JgoodiesExam使用例子,回来接下来的分析:
a.因为客户端消息的处理是在ClientHandler.handleMessage,所以添加ui的显示的入口地方也是在此方法.
b.在ClientHandler添加StockController,并为这个stockController属性进行依赖注入,然后触发StockController.displayQuote方法.
c.但这个方法也没有直接显示ui,而是又添加了一个StockPanel,并且这个StockPanel没有使用spring的依赖注入.
d.而是启动完spring容器后,获取StockController Bean,再new了一个StockPanel.
e.然后通过这个构造方法,使用StockController的set方法设置进去的(见Client.main()方法).
f.StockController的displayQuote方法要判断StockPanel是否为null,也正是因为如此.
通过以上分析,在前篇文章添加相应代码,重新启动Server和Client的main方法来测试.