Advertisement
deisner

WindowsTesterApp

Mar 23rd, 2011
429
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.71 KB | None
  1. package david.playground;
  2.  
  3. import java.awt.Color;
  4. import java.awt.GridLayout;
  5. import java.awt.event.ActionEvent;
  6.  
  7. import javax.swing.*;
  8. import javax.swing.event.*;
  9. import javax.swing.text.BadLocationException;
  10. import javax.swing.text.Document;
  11.  
  12. public class WindowsTesterApp extends JPanel implements DocumentListener {
  13.  
  14.     private JTextField outputField;
  15.    
  16.     public WindowsTesterApp() {
  17.         int pad = 5;
  18.        
  19.         JLabel lbl1 = new JLabel( "Enter Text: ", SwingConstants.RIGHT);
  20.         JLabel lbl2 = new JLabel( "ALL YOUR TEXT: ", SwingConstants.RIGHT);
  21.        
  22.         JTextField inputField = new JTextField(10);
  23.         outputField = new JTextField(10);
  24.         outputField.setEnabled(false);
  25.         outputField.setDisabledTextColor( Color.BLACK);
  26.        
  27.         inputField.getDocument().addDocumentListener( this );
  28.        
  29.         JPanel mp = new JPanel();
  30.         mp.setLayout( new GridLayout(0, 2, pad, pad));
  31.         mp.add(lbl1);
  32.         mp.add(inputField);
  33.         mp.add(lbl2);
  34.         mp.add(outputField);
  35.        
  36.         JButton exitButton = new JButton(
  37.                 new AbstractAction( "Exit") {
  38.                     public void actionPerformed(ActionEvent ae) {
  39.                         System.exit(0);
  40.                     }
  41.                 }
  42.         );
  43.         JPanel bp = new JPanel();
  44.         bp.add( exitButton);
  45.        
  46.         setBorder( BorderFactory.createEmptyBorder(pad, pad, pad, pad));
  47.         setLayout( new BoxLayout( this, BoxLayout.PAGE_AXIS));
  48.         add(mp);
  49.         add(Box.createVerticalStrut(2*pad));
  50.         add(bp);
  51.     }
  52.    
  53.    
  54.     private static void createAndShowGUI() {
  55.        
  56.         JFrame app = new JFrame( "Windows Tester App");
  57.         app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
  58.         app.getContentPane().add( new WindowsTesterApp());
  59.         app.pack();
  60.         app.setLocationByPlatform( true);
  61.         app.setVisible(true);
  62.     }
  63.    
  64.     public void changedUpdate(DocumentEvent de) { respondToUpdate( de); }
  65.  
  66.     public void insertUpdate(DocumentEvent de) { respondToUpdate(de); }
  67.  
  68.     public void removeUpdate(DocumentEvent de) { respondToUpdate( de); }
  69.  
  70.    
  71.     private void respondToUpdate( DocumentEvent de) {
  72.         Document doc = de.getDocument();
  73.         try {
  74.             String text = doc.getText(0, doc.getLength());
  75.             outputField.setText( text.toUpperCase());
  76.         }
  77.         catch( BadLocationException ex) {}
  78.     }
  79.    
  80.    
  81.     /**
  82.      * @param args
  83.      */
  84.     public static void main(String[] args) {
  85.         SwingUtilities.invokeLater( new Runnable() {
  86.            public void run() {
  87.                createAndShowGUI();
  88.            }
  89.         });
  90.     }
  91. }
Advertisement
RAW Paste Data Copied
Advertisement