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