| 
                  Discussion of Programming Assignment 3
                   | 
            
| 
                   
                      
                     Prof. David Bernstein
                       | 
            
| Computer Science Department | 
| bernstdh@jmu.edu | 
               
            
         
            
         
                        
                     Editable objects
	    and EditableFactory objects, allowing us to
	    work with any number of different kinds of "documents"
        
                        
                     
         
            
         
                        
                     
                        
                     
                        
                     
                        
                     
         
            
         AbstractLocalizedAction included in the design?
      AbstractAction.
        
                        
                     actionPerformed(), each
        specialization needs to do that.
        
                        
                     
         
            
         AbstractDocumentAction included in the design?
      AbstractLocalizedAction (specifically, setting
	the DocumentManager).
        
                        
                     AbstractAction?
      AbstractLocalizedAction.
        
                        
                     
                        
                     
         
            
         AbstractOpen included in the design?
      AbstractDocumentAction. Specifically, it creates and
	controls the BackgroundTaskDialog and it is a
	PropertyChangeListener.
        
                        
                     createReader() (since the
	AbstractEditableReadingWorker varies with the
	source.
        
                        
                     OpenString)?
      createReader() contains one line
	of code.
        
                        
                     
         
            
         AbstractEditableReadingWorker included in the design?
      SwingWorker that are needed by
	every class that needs to read an Editable.    
        
                        
                     Editable (which will be
	implement in the concrete specializations).
        
                        
                     readInCallersThread()
      included when the children are required to
      implement doInBackground()?
      
                        
                     
                        
                     doInBackground() implemented in this class?
      
                        
                     
         
            
         TimeoutTask included in the design?
      java.util.Timer class needs to be passed
	a TimerTask to execute (and TimeoutTask
	extends TimerTask.
        
                        
                     TimeoutTask a nested class?
      BackgroundTaskDialog.
        
                        
                     TimeoutTask and needs access to
	its SwingWorker (so that it can cancel it)
        
                        
                     
         
            
         
                        
                     
                        
                     
                        
                     
         
            
         FileTypeFilter class
      extend javax.swing.filechooser.FileFilter and
      java.io.FileFilter?
      
                        
                     
                        
                     
         
            
         Quit actions?
      
                        
                     Open actions?
      
                        
                     BigPixel? In other words,
      what does an application need to do?
      DocumentManager,
	and associate the editor and DocumentManager.