java桌面程序中使用联动菜单遇到与解决的有关问题

java桌面程序中使用联动菜单遇到与解决的问题

最近在做一个小小的系统,想实现联动菜单,故尝试了几种方法。


1、想通过一个线程来监控下拉菜单的变化,从而控制从菜单。

遇到的问题:

①:开始,我是用一个外部线程类,不过我要通过外部线程类来改变主窗口的下拉菜单,

②:所以,就需要一个传递一个类参数才能引用,

③:我在主窗口中调用线程类。

④:由于我需要把从数据中得来的数据在线程类中使用,所以就需要在线程类中使用数据库连接

当然不是在run方法中使用,而是在最开始定义数据时就初始化赋值好。

⑤:我以为,在最开始使用数据库连接,就连一次,应该没事。

⑥:接着,运行时报错,应该是数据库连接太多,溢出吧。

⑦:就debug,发现一道主线程的ir = new ItemRun();这里就报错,也就是,初始化对象是就有问题,也就是其构造时就有问题。

⑧:想了好久,应该想通了:当主线程调用线程类,而线程类中又有主线程,继而在线程类中再调用主线程

构造方法(我的线程类初始化在主线程构造方法中),这样就会产生无限的循环,一层掉一层,有点像递归。


2、利用事件来监控

①:所以多线程不能用了,突然想到了事件监控

②:通过监控JComboBox,从而得到它被选择的item,来改变从菜单的items值。

③:最终成功了。