任何人都可以直接指出我的意思吗?我希望小程序中的actionlistener在从html文件检索的jlabel中显示3个参数中的1个,当从组合框中选择了适当的选项时。
干杯
最佳答案
对于组合框,您想在组合框中添加ItemListener
来处理更改。您应该创建某种控制器类(只是一个普通的类,implements ItemListener
)并将其添加为侦听器。然后,在itemStateChanged
方法中,对逻辑进行编程。您可能想为您创建的ItemListener
提供对面板的引用,以便可以进行适当的更改。
另一注。如果在选择下拉菜单时正在动态读取HTML文件,则用户界面将冻结,直到此操作完成。这是因为这些事件是在事件分发线程(用户交互的主线程)上触发并执行的。为避免这种情况,您可以提前将HTML文件解析到内存中,也可以在itemStateChanged
事件中生成单独的线程来解析HTML文件。请记住,完成后,请使用SwingUtilities.invokeLater
在“事件调度线程”上重新获得另一个可运行的对象,以更新下拉列表。对Swing用户界面的所有更新都必须在事件调度线程内完成。