// Example with TextArea and KeyListener to process input import java.awt.*; import java.awt.event.*; import javax.swing.*; class text_stuff extends JFrame implements ActionListener { private JTextArea area; private JTextField name, ssn; private JButton showButton; public text_stuff () { area = new JTextArea(5, 30); area.setEditable(false); JScrollPane sp = new JScrollPane(area); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); name = new JTextField(15); ssn = new JTextField(15); showButton = new JButton("Show"); Container c = getContentPane(); Panel p = new Panel(); p.setLayout(new GridLayout(2,2)); p.add(new JLabel("NAME:")); p.add(name); p.add(new JLabel("SSN:")); p.add(ssn); c.add(sp, BorderLayout.NORTH); c.add(p, BorderLayout.CENTER); c.add(showButton, BorderLayout.SOUTH); showButton.addActionListener(this); name.addActionListener(this); ssn.addActionListener(this); ssn.addKeyListener(new text_handler()); } class text_handler extends KeyAdapter { public void keyTyped (KeyEvent k) { if (k.getSource() != ssn) return; char inchar = k.getKeyChar(); if (!(inchar >= '0' && inchar <= '9')) { JOptionPane.showMessageDialog(null, "NON-NUMERIC INPUT: " + inchar); k.setKeyChar('\0'); } } } public void actionPerformed(ActionEvent a) { if (a.getSource() == name) { String input = a.getActionCommand(); JOptionPane.showMessageDialog(this, "Upon NAME: " + input); } else if (a.getSource() == ssn) { String input = a.getActionCommand(); JOptionPane.showMessageDialog(this, "Upon SSN: " + input); } else if (a.getSource() == showButton) { area.append("Name: " + name.getText() + " ; SSN: " + ssn.getText() + "\n"); } } public static void main (String args[]) { text_stuff ts = new text_stuff(); ts.setLocation(100,100); ts.setSize(225,300); ts.show(); } }