我了解"How to Use Actions"教程,但无法弄清楚如何使它在多个JFrame表单之间工作。 我尝试使用updateComboBox方法public static,以便可以从其他表单访问 ,但由于自动生成的非静态变量jComboBox无法从静态上下文中引用,NetBeans IDE拒绝允许它。 主窗体包含一个JComboBox,需要根据用户输入(菜单,按钮,文本字段等)进行修改。 部分小部件位于主窗体上,其他部件位于辅助窗体上。 例如,主窗体使辅助窗体可见;辅助表单会对配置进行一些更改;那么用户通过按SAVE按钮隐藏辅助表单。 辅助表单如何最好让主表单知道配置已更新,现在需要将更改应用到JComboBox? 行动是否适合这一点或者是否会采取其他方法更合适?如何在java swing表单之间发送信号?
public class Controller extends javax.swing.JFrame {
...
private javax.swing.JComboBox jComboBox;
private void updateComboBox() {
String[] names = Configuration.getNames();
for (String n : names) {
jComboBox.addItem(n);
}
...
提及观察者模式+1。 – huo73 2010-09-17 08:23:13
以前从未(有意)使用过设计模式,但那是完美的解决方案。谢谢。 – jacknad 2010-09-17 12:52:46