最近做一个基于java swing配置的项目,其中遇到很多问题,由于java swing开发可能相对冷门,在网上并没有好的解决方案,经过一段时间研究后整理了一些经验总结,权当记录。

解决功能如下:

  1. jtable某行作为combobox中的内容
  2. combobox嵌入某节点对应的jtable中某列内容
  3. combobox可以动态更新combobox中的内容,并在jtable中某列显示

具体实现类似于MVC,这里将tree,combobox,jtable均进行了抽象,封成对应的类,使用的时候直接实例化。

Jtree监听事件,显示需要显示的jtable。
java swing中jtable与jcombobox动态结合与事件触发
java swing中jtable与jcombobox动态结合与事件触发
这里代码中checkbox为笔误。

java swing中jtable与jcombobox动态结合与事件触发
这里最核心的地方在于使用监听事件时,必须在Combobox更新后,将监听器移除,否则会由于选择ITEM后再次出发Combobox的事件。而每次Combobox的事件监听是在初始化的时候针对性的打开。如下:

java swing中jtable与jcombobox动态结合与事件触发
这里基本关于一个jtree点击节点后,调用出对应的jtable,根据另一个table中的内容再更新该table中的值已经详细说明。由于涉及项目保密性,所以代码无法贴出,如有需要私信联系。

相关文章: