任何人都可以直接指出我的意思吗?我希望小程序中的actionlistener在从html文件检索的jlabel中显示3个参数中的1个,当从组合框中选择了适当的选项时。

干杯

最佳答案

对于组合框,您想在组合框中添加ItemListener来处理更改。您应该创建某种控制器类(只是一个普通的类,implements ItemListener)并将其添加为侦听器。然后,在itemStateChanged方法中,对逻辑进行编程。您可能想为您创建的ItemListener提供对面板的引用,以便可以进行适当的更改。

另一注。如果在选择下拉菜单时正在动态读取HTML文件,则用户界面将冻结,直到此操作完成。这是因为这些事件是在事件分发线程(用户交互的主线程)上触发并执行的。为避免这种情况,您可以提前将HTML文件解析到内存中,也可以在itemStateChanged事件中生成单独的线程来解析HTML文件。请记住,完成后,请使用SwingUtilities.invokeLater在“事件调度线程”上重新获得另一个可运行的对象,以更新下拉列表。对Swing用户界面的所有更新都必须在事件调度线程内完成。

09-30 14:26