例如,如StanislavL +1所示,建议使用
documentListener:
import java.awt.GridLayout;import javax.swing.*;import javax.swing.event.documentEvent;import javax.swing.event.documentListener;public class TextLabelMirror { private JPanel mainPanel = new JPanel(); private JTextField field = new JTextField(20); private JTextField field1 = new JTextField(20); public TextLabelMirror() { field.getdocument().adddocumentListener(new documentListener() { @Override public void changedUpdate(documentEvent e) { updateLabel(e); } @Override public void insertUpdate(documentEvent e) { updateLabel(e); } @Override public void removeUpdate(documentEvent e) { updateLabel(e); } private void updateLabel(documentEvent e) { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { field1.setText(field.getText()); } }); } }); mainPanel.setLayout(new GridLayout(1, 0, 10, 0)); mainPanel.add(field); mainPanel.add(field1); } public JComponent getComponent() { return mainPanel; } private static void createAndShowUI() { Jframe frame = new Jframe("TextLabelMirror"); frame.getContentPane().add(new TextLabelMirror().getComponent()); frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { createAndShowUI(); } }); }}


