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