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

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


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

遇到的问题:

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

②:所以,就须要一个传递一个类參数才干引用,

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

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

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

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

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

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

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

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


2、利用事件来监控

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

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

③:终于成功了。

原文地址:https://www.cnblogs.com/wgwyanfs/p/7142635.html