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