最近做一个基于java swing配置的项目,其中遇到很多问题,由于java swing开发可能相对冷门,在网上并没有好的解决方案,经过一段时间研究后整理了一些经验总结,权当记录。
解决功能如下:
- jtable某行作为combobox中的内容
- combobox嵌入某节点对应的jtable中某列内容
- combobox可以动态更新combobox中的内容,并在jtable中某列显示
具体实现类似于MVC,这里将tree,combobox,jtable均进行了抽象,封成对应的类,使用的时候直接实例化。
Jtree监听事件,显示需要显示的jtable。
这里代码中checkbox为笔误。
这里最核心的地方在于使用监听事件时,必须在Combobox更新后,将监听器移除,否则会由于选择ITEM后再次出发Combobox的事件。而每次Combobox的事件监听是在初始化的时候针对性的打开。如下:
这里基本关于一个jtree点击节点后,调用出对应的jtable,根据另一个table中的内容再更新该table中的值已经详细说明。由于涉及项目保密性,所以代码无法贴出,如有需要私信联系。