import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * set up and display a frame playing with * JTextField * * @author Sharon Tuttle * @version 2015-09-21 */ public class TextFieldPlay { /** * creates a frame for textfield play * * @param args not used here */ public static void main(String[] args) { EventQueue.invokeLater( new Runnable() { public void run() { TextFieldPlayFrame aFrame = new TextFieldPlayFrame(); aFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); aFrame.setVisible(true); } }); } } /** * a frame with some text field play */ class TextFieldPlayFrame extends JFrame { public static final int DEFAULT_WIDTH = 300; public static final int DEFAULT_HEIGHT = 150; /** * construct a TextFieldPlay-panel frame instance */ public TextFieldPlayFrame() { this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); this.setTitle("JTextField Playing"); // create and add a TextFieldPlay panel to my frame TextFieldPlayPanel aTextFieldPlayPanel = new TextFieldPlayPanel(); this.add(aTextFieldPlayPanel); } } /** * a panel with textfield experimentation */ class TextFieldPlayPanel extends JPanel { // data fields private JLabel visitorGreeting; private JTextField visitorNameField; /** * constructs a TextFieldPlay panel instance */ public TextFieldPlayPanel() { // allow user to enter their name, and see a personalized // greeting when they then click the Submit button JLabel visitorPrompt = new JLabel("Type your name:"); visitorNameField = new JTextField(10); visitorGreeting = new JLabel("No visitor has registered yet"); JButton submitName = new JButton("Submit"); submitName.addActionListener(new SubmitAction()); this.add(visitorPrompt); this.add(visitorNameField); this.add(visitorGreeting); this.add(submitName); } /** * an action listener that changes the greeting * label to reflect the entered user's name */ private class SubmitAction implements ActionListener { // default constructor will suffice in this case /** * changes the greeting label to reflect the * entered visitor's name * * @param event a push of the Submit button */ public void actionPerformed(ActionEvent event) { visitorGreeting.setText("Hi, " + visitorNameField.getText() ); } } }