| 
                  Discussion of Programming Assignment 4
                   | 
            
| 
                   
                      
                     Prof. David Bernstein
                       | 
            
| Computer Science Department | 
| bernstdh@jmu.edu | 
               
            
         
            
         BigPixelEditor would be an
	    ActionListener for all of the JMenuItem
	    objects.
	  ActionListener for all of the JMenuItem
	    objects.
	  
                     
                  Action objects)?
      
                     
                  BigPixelEditor)
                     
                  
         
            
         Action objects?
      
                        
                     Action object?
      
                        
                     
                        
                     
                        
                     
         
            
         ActionPerformed)
      is in each of the Action
      objects that set the color, brush size, and grid visibility?
      updateEditor()
                           
                        
                     Action calls a different
	    method in the operand
        
                        
                     BigPixelAction<T>
	    interface with an updateEditor(T newValue)
	    method
                        
                     
         
            
         
         
            
         
                        
                     BigPixelAction interface add anything
      to the design?
      
                        
                     
         
            
         
                        
                     AbstractBigPixelAction that includes
      an implementation of updateEditor()?
      updateEditor() method is passed
	    parameters of different type and invokes different methods in the
	    operand
        
                        
                     Map
      objects to hold attributes and refer to them with a key)?
      
                        
                     
         
            
         
         
            
         
         
            
         
         
            
         
                        
                     BigPixelAction.updateEditor()
	  won't compile because T (the type of
	  newValue) isn't bound
	  so editor.setAttribute(attribute, newValue)
	  doesn't match any methods
	  in BigPixelEditor
                           
                        
                     brushSize 
           is greater than 0 or that the 
           currentColor isn't null)
	  
                        
                     
         
            
         
                        
                     
                        
                     
                        
                     
         
            
         Action objects that
      control the brush size, current color, and grid visibility have?
      BigPixelEditor
	    named editor)
        
                        
                     AbstractBixPixelAction to the design
        just for this?
      
                        
                     
         
            
         BigPixelElement currently
      centralized or decentralized?
      BigPixelEditor
	    (which realizes the MouseListener interface?
        
                        
                     BigPixelElement
                     BigPixelElement
                     BigPixelElement
                     BigPixelElement be
      centralized or decentralized?
      
                        
                     
         
            
         BigPixelEditor implement the
      Printable interface?
      Printable would include identical code
        
                        
                     BigPixelEditor
	    (and any other such classes) will need to specialize a
	    JComponent of some unknown and varying kind
        
                        
                     
                        
                     DelegatingPrintable class)
        
                        
                     
         
            
         BigPixelDocument?
      BigPixelEditor that renders
	    a BigPixelDocument in a way that is appropriate for
	    printing on a single page (after scaling and translation)
        
                        
                     
                        
                     JComponent that renders the document
	    as it would be rendered when printed
        
                        
                     JComponent that
	    renders a "preview"