Java: Example - ToUppercase

Level Introductory
Structure Separate main and GUI files.
ComponentsJButton, JTextField
ContainersJFrame, JPanel
Layouts FlowLayout
Listeners ActionListener as inner class
Other  

Main program

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
// ToUpperCase.java Example: Converts text in one field to uppercase in another.
// Fred Swartz, 1999...2004-04-11

import javax.swing.*;

//////////////////////////////////////////////////////////////// ToUpperCase
public class ToUpperCase {
    //================================================================= main
    public static void main(String[] args) {
        JFrame window = new ToUpperCaseGUI();
        window.setTitle("ToUpperCase Example");
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.show();  // Same as window.setVisible(true)
    }//end main  
}//end class ToUpperCase

GUI code

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
/** ToUpperCaseGUI.java Example: Converts text to uppercase.
    @author Fred Swartz
    @version 2004-04-16
*/

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

///////////////////////////////////////////////////////////// ToUpperCaseGUI
/** GUI (window) for lower to uppercase conversion program. */
public class ToUpperCaseGUI extends JFrame {
    //=================================================== instance variables
    private JTextField _inField  = new JTextField(20);
    private JTextField _outField = new JTextField(20);

    //========================================================== constructor
    /** Creates content pane of the window. */
    public ToUpperCaseGUI() {
        //-- 1. Create or set attributes of components.
        _outField.setEditable(false);  // Don't let user change output.
        JButton toUpperButton = new JButton("To Uppercase");
        
        //--- 2. Add listener(s).
        toUpperButton.addActionListener(new UpperCaseAction());
      
        //--- 3. Create a panel and add components to it
        JPanel p = new JPanel();
        p.setLayout(new FlowLayout());
        p.add(_inField);
        p.add(toUpperButton);
        p.add(_outField);
        
        //-- 4. Set the content panel of window and perform layout.
        this.setContentPane(p);
        this.pack();            // Do layout.
    }//end constructor
    
    //////////////////////////////////////////// inner class UpperCaseAction
    /** Class to hold action listener */
    class UpperCaseAction implements ActionListener {
        /** Actionlistener to convert text to uppercase. */
        public void actionPerformed(ActionEvent e) {
            String data = _inField.getText(); // get the text
            String out  = data.toUpperCase(); // create uppercase text
            _outField.setText(out);           // set output field
        }//end actionPerformed
    }//end inner class UpperCaseAction
    
}//end class ToUpperCaseGUI

Possible extensions