表单输入框实现联动
时间: 2024-02-16 22:00:03 浏览: 22
表单输入框的联动可以通过监听器(Listener)来实现。监听器可以监听一个或多个输入框的变化,然后根据变化来更新其他输入框的值。
下面是一个实现表单输入框联动的示例:
```java
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Form extends JFrame {
private JTextField textField1, textField2, textField3;
public Form() {
super("表单");
JPanel panel = new JPanel(new FlowLayout());
JLabel label1 = new JLabel("输入框1:");
textField1 = new JTextField(10);
textField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateFields();
}
});
JLabel label2 = new JLabel("输入框2:");
textField2 = new JTextField(10);
textField2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateFields();
}
});
JLabel label3 = new JLabel("输入框3:");
textField3 = new JTextField(10);
textField3.setEditable(false);
panel.add(label1);
panel.add(textField1);
panel.add(label2);
panel.add(textField2);
panel.add(label3);
panel.add(textField3);
setContentPane(panel);
pack();
setVisible(true);
}
private void updateFields() {
String text1 = textField1.getText();
String text2 = textField2.getText();
if (!text1.isEmpty() && !text2.isEmpty()) {
int num1 = Integer.parseInt(text1);
int num2 = Integer.parseInt(text2);
int sum = num1 + num2;
textField3.setText(Integer.toString(sum));
} else {
textField3.setText("");
}
}
public static void main(String[] args) {
new Form();
}
}
```
在上面的示例中,我们创建了一个表单,包含三个输入框:textField1、textField2和textField3。当textField1或textField2的值发生变化时,我们通过updateFields()方法来更新textField3的值。在updateFields()方法中,我们首先获取textField1和textField2的值,然后判断它们是否都不为空。如果都不为空,我们将它们转换为整数并计算它们的和,然后将和设置为textField3的值。如果有一个或多个输入框为空,我们将textField3的值设置为空字符串。在textField1和textField2中输入数字后,按下Enter键,就会触发ActionEvent事件,然后执行相应的监听器。