1. 程式人生 > >swing輸入框內容即時同步到其他輸入框中

swing輸入框內容即時同步到其他輸入框中

當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();  
        
    }  
}