我在 D 模块的第一个面板中使用了名称文本字段。当我单击生成按钮时,雇员姓名会在 E 模块中的显示面板雇员姓名文本字段中自动更新。因此两个面板中的值必须相同。如何使用 Java Swing 从 D 模块获取值并在 E 模块中更新。
最佳答案
Swing 严重依赖观察者模式。您可以使用此模式来帮助您的 E 模块知道何时单击生成按钮。
如果您的 E 模块引用了 D 模块,您可以将 E 作为 ActionListener
添加到生成按钮。然后,您可以在触发操作时从 D 模块中提取文本。下面列出了一种暴力方法:
public class DModule {
private JButton genButton = new JButton("generate");
private JTextField empNameTF = new JTextField();
// ---more code ---
public void addGenButtonListener (ActionListener l) {
genButton.addActionListener(l);
}
public String getEmpName() {
return empNameTF.getText();
}
}
public class EModule implements ActionListener {
DModule d = null;
JTextField myEmpNameTF = new JTextField();
public EModule (DModule d) {
this.d = d;
d.addGenButtonListener(this);
}
// --- more code ---
public void actionPerformed(ActionEvent event) {
myEmpNameTF.setText(d.getEmpName());
}
}
关于java - 如何从第一个面板获取值并插入到 Java Swing 中的第二个面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2941134/