H:\CSC120\Java\lec23_f21\src\MUFrame.java
  1 /* CSC 120 Lecture 23
  2  * 
  3  * 
  4  * Example of getText and converting Strings to numeric types
  5  * 
  6  */
  7 
  8 import java.awt.*;
  9 import javax.swing.*;
 10 
 11 public class MUFrame extends javax.swing.JFrame {
 12 
 13     // declare private data here
 14     
 15     // constructor method
 16     public MUFrame() {
 17         initComponents();
 18         
 19         
 20         
 21     } // end of constructor
 22     
 23     // declare other methods here
 24     
 25     
 26     
 27     /** This method is called from within the constructor to
 28      * initialize the form.
 29      * WARNING: Do NOT modify this code. The content of this method is
 30      * always regenerated by the Form Editor.
 31      */
 32     @SuppressWarnings("unchecked")
 33     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
 34     private void initComponents() {
 35 
 36         drawingPanel = new javax.swing.JPanel();
 37         nameLabel = new javax.swing.JLabel();
 38         nameField = new javax.swing.JTextField();
 39         integerLabel = new javax.swing.JLabel();
 40         integerField = new javax.swing.JTextField();
 41         doubleLabel = new javax.swing.JLabel();
 42         doubleField = new javax.swing.JTextField();
 43         jScrollPane1 = new javax.swing.JScrollPane();
 44         outputArea = new javax.swing.JTextArea();
 45         processDataButton = new javax.swing.JButton();
 46 
 47         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 48 
 49         nameLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
 50         nameLabel.setText("What is your name?");
 51 
 52         integerLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
 53         integerLabel.setText("Enter an Integer, please:");
 54 
 55         doubleLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
 56         doubleLabel.setText("Enter a Double, please:");
 57 
 58         outputArea.setColumns(20);
 59         outputArea.setFont(new java.awt.Font("Monospaced", 0, 18)); // NOI18N
 60         outputArea.setRows(5);
 61         jScrollPane1.setViewportView(outputArea);
 62 
 63         processDataButton.setText("Process The Data!");
 64         processDataButton.addActionListener(new java.awt.event.ActionListener() {
 65             public void actionPerformed(java.awt.event.ActionEvent evt) {
 66                 processDataButtonActionPerformed(evt);
 67             }
 68         });
 69 
 70         javax.swing.GroupLayout drawingPanelLayout = new javax.swing.GroupLayout(drawingPanel);
 71         drawingPanel.setLayout(drawingPanelLayout);
 72         drawingPanelLayout.setHorizontalGroup(
 73             drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 74             .addGroup(drawingPanelLayout.createSequentialGroup()
 75                 .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 76                     .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING)
 77                     .addGroup(drawingPanelLayout.createSequentialGroup()
 78                         .addGap(24, 24, 24)
 79                         .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
 80                             .addGroup(drawingPanelLayout.createSequentialGroup()
 81                                 .addComponent(nameLabel)
 82                                 .addGap(43, 43, 43)
 83                                 .addComponent(nameField, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE))
 84                             .addGroup(drawingPanelLayout.createSequentialGroup()
 85                                 .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 86                                     .addComponent(integerLabel)
 87                                     .addComponent(doubleLabel))
 88                                 .addGap(18, 18, 18)
 89                                 .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 90                                     .addComponent(integerField)
 91                                     .addComponent(doubleField))))
 92                         .addGap(0, 500, Short.MAX_VALUE)))
 93                 .addContainerGap())
 94             .addGroup(drawingPanelLayout.createSequentialGroup()
 95                 .addGap(115, 115, 115)
 96                 .addComponent(processDataButton)
 97                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
 98         );
 99         drawingPanelLayout.setVerticalGroup(
100             drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
101             .addGroup(drawingPanelLayout.createSequentialGroup()
102                 .addGap(22, 22, 22)
103                 .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
104                     .addComponent(nameLabel)
105                     .addComponent(nameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
106                 .addGap(26, 26, 26)
107                 .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
108                     .addComponent(integerLabel)
109                     .addComponent(integerField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
110                 .addGap(39, 39, 39)
111                 .addGroup(drawingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
112                     .addComponent(doubleLabel)
113                     .addComponent(doubleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
114                 .addGap(34, 34, 34)
115                 .addComponent(processDataButton)
116                 .addGap(34, 34, 34)
117                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
118                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
119         );
120 
121         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
122         getContentPane().setLayout(layout);
123         layout.setHorizontalGroup(
124             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
125             .addComponent(drawingPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
126         );
127         layout.setVerticalGroup(
128             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
129             .addGroup(layout.createSequentialGroup()
130                 .addContainerGap()
131                 .addComponent(drawingPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
132                 .addContainerGap(54, Short.MAX_VALUE))
133         );
134 
135         pack();
136     }// </editor-fold>                        
137 
138     private void processDataButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                  
139         
140         String name, integerInput, doubleInput;
141         
142         name = nameField.getText();
143         integerInput = integerField.getText();
144         doubleInput = doubleField.getText();
145         
146         outputArea.setText("User entered these values:\n");
147         outputArea.append("\tname: " + name + "\n");
148         outputArea.append("\tinteger value: " + integerInput + "\n");
149         outputArea.append("\tdouble value: " + doubleInput + "\n");
150         
151         if ( name.equals("Fred") ) {
152             outputArea.append(".... Yabba Dabba Doo!\n");
153         }
154         else if ( ! name.equals("Wilma") ) {
155             outputArea.append(".... Hello there, " + name + "\n");
156         }
157         else {
158             outputArea.append(".... How can you put up with Fred every day???\n");
159         }
160         
161         outputArea.append("Let's add the two numbers that were entered:\n\n");
162         
163         Integer x = Integer.parseInt(integerInput);
164         Double d  = Double.parseDouble(doubleInput);
165         
166         outputArea.append("    the sum of " + integerInput + " and " + doubleInput
167                         + " is " + (x + d) + "\n\n");
168     }                                                 
169 
170     /**
171      * @param args the command line arguments
172      */
173     public static void main(String args[]) {
174         java.awt.EventQueue.invokeLater(new Runnable() {
175 
176             public void run() {
177                 new MUFrame().setVisible(true);
178             }
179         });
180     }
181     // Variables declaration - do not modify                     
182     private javax.swing.JTextField doubleField;
183     private javax.swing.JLabel doubleLabel;
184     private javax.swing.JPanel drawingPanel;
185     private javax.swing.JTextField integerField;
186     private javax.swing.JLabel integerLabel;
187     private javax.swing.JScrollPane jScrollPane1;
188     private javax.swing.JTextField nameField;
189     private javax.swing.JLabel nameLabel;
190     private javax.swing.JTextArea outputArea;
191     private javax.swing.JButton processDataButton;
192     // End of variables declaration                   
193 }
194