近期在做一个小小的系统,想实现联动菜单。故尝试了几种方法。
1、想通过一个线程来监控下拉菜单的变化,从而控制从菜单。
遇到的问题:
①:開始,我是用一个外部线程类,只是我要通过外部线程类来改变主窗体的下拉菜单,
②:所以,就须要一个传递一个类參数才干引用,
③:我在主窗体中调用线程类。
④:因为我须要把从数据中得来的数据在线程类中使用,所以就须要在线程类中使用数据库连接
当然不是在run方法中使用,而是在最開始定义数据时就初始化赋值好。
⑤:我以为,在最開始使用数据库连接。就连一次,应该没事。
⑥:接着。执行时报错。应该是数据库连接太多。溢出吧。
⑦:就debug,发现一道主线程的ir = new ItemRun();这里就报错。也就是,初始化对象是就有问题,也就是其构造时就有问题。
⑧:想了好久,应该想通了:当主线程调用线程类。而线程类中又有主线程。继而在线程类中再调用主线程
构造方法(我的线程类初始化在主线程构造方法中)。这样就会产生无限的循环,一层掉一层。有点像递归。
2、利用事件来监控
①:所以多线程不能用了,突然想到了事件监控
②:通过监控JComboBox。从而得到它被选择的item。来改变从菜单的items值。
③:终于成功了。