Event-Driven Programming in GUIs
                   
                  An Introduction with Examples in Java (Swing)
                | 
            
            
               | 
                   
                      
                   
                  
                     Prof. David Bernstein
                      
                     
                        James Madison University
                     
                   
                | 
            
            
                | 
            
            
               | 
                  Computer Science Department
                | 
            
            
               | 
                  bernstdh@jmu.edu
                | 
            
         
         
            
               
                  
               
            
         
       
      
      
      
      
      
      
      
         Using a 
JButton
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Observer
            
            javaexamples/usinggui/ButtonHandler.java
              
         
          
       
      
         Using a 
JButton
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Subject
            
            javaexamples/usinggui/ButtonDriver.java
              
         
          
       
      
         Using a 
JButton
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
A More Sophisticated Example
            
            javaexamples/usinggui/AdvancedButtonDriver.java
              
         
          
       
      
      
         Using a 
JCheckBox
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Observer
            
            javaexamples/usinggui/CheckBoxHandler.java
              
         
          
       
      
         Using a 
JCheckBox
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Subject
            
            javaexamples/usinggui/CheckBoxDriver.java
              
         
          
       
      
      
         Using a 
JRadioButton
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Subject
            
            javaexamples/usinggui/RadioButtonDriver.java
              
         
          
       
      
      
         Using a Text Component (cont.)
         
         
            
         
         
         
            
               
An Example Observer
            
            javaexamples/usinggui/TextFieldHandler.java
              
         
          
       
      
         Using a Text Component (cont.)
         
         
            
         
         
         
            
               
An Example Subject
            
            javaexamples/usinggui/TextFieldDriver.java
              
         
          
       
      
      
         Using a 
JList
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Observer
            
            javaexamples/usinggui/ListHandler.java
              
         
          
       
      
         Using a 
JList
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Subject
            
            javaexamples/usinggui/ListDriver.java
              
         
          
       
      
      
         Using a 
JComboBox
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Observer
            
            javaexamples/usinggui/ComboBoxHandler.java
              
         
          
       
      
         Using a 
JComboBox
            
               
             (cont.)
 
         
         
            
         
         
         
            
               
An Example Subject
            
            javaexamples/usinggui/ComboBoxDriver.java
              
         
          
       
      
      
         Responding to JSlider Objects (cont.)
         
         
            
         
         
         
            An Example Observer
            javaexamples/usinggui/SliderHandler.java
              
         
          
       
      
         Responding to JSlider Objects (cont.)
         
         
            
         
         
         
            An Example Subject
            javaexamples/usinggui/SliderDriver.java
              
         
          
       
      
      
         
          There's Always More to Learn