版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mwangsheng/article/details/77646455
当swing面板中有很多密码输入框,有时需要填写一个其他的可以即时同步。而swing面板不同于HTML页面,需要添加事件监听事件addKeyListener()来进行同步。下面是简单的原理实现。
import java.awt.GridLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class textAreaTest extends JFrame{
JTextField name;
JTextField age;
JTextField address;
public textAreaTest(){
this.setTitle("文本框");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(100, 100, 250, 200);
JPanel contentPane=new JPanel();
contentPane.setBorder(new EmptyBorder(5,5,5,5));
this.setContentPane(contentPane);
contentPane.setLayout(new GridLayout(3,1,5,5));
JPanel pane1=new JPanel();
contentPane.add(pane1);
JPanel pane2=new JPanel();
contentPane.add(pane2);
JPanel pane3=new JPanel();
contentPane.add(pane3);
JLabel label1=new JLabel("姓名:");
name=new JTextField();
name.setColumns(10);
pane1.add(label1);
pane1.add(name);
JLabel label2=new JLabel("年龄:");
age=new JTextField();
age.setColumns(10);
pane2.add(label2);
pane2.add(age);
JLabel label3=new JLabel("住址:");
address=new JTextField();
address.setColumns(10);
pane3.add(label3);
pane3.add(address);
this.setVisible(true);
name.addKeyListener(new KeyAdapter() {//键盘事件
@Override
public void keyPressed(KeyEvent e) {//按压
age.setText(name.getText());
}
@Override
public void keyTyped(KeyEvent e) {//敲击
age.setText(name.getText());
}
@Override
public void keyReleased(KeyEvent e) {//释放
age.setText(name.getText());
}
});
}
public static void main(String[]args){
new textAreaTest();
}
}