Midterm Exam #2 Topics
		The exam is open book and open notes and you are free to use a calculator or whatever other computing devices you feel may aid you, but it is not open-neighbor.  You can use a computing device and the Internet to access Blackboard/online books/notes/course website, but not to compile/run programs or to communicate with others online.
Files
  - Using the File class to get properties of a file or path
 
  - Reading and writing text files
 
  - Reading and writing binary files
 
  - Using serialization and storage using a binary file
 
Images and Drawing
- Drawing shapes, lines
 
- Changing colors
 
- Displaying an image
 
- Overriding paint or paintComponent
 
- Using repaint()
 
Patterns
- Be familiar with these patterns, be able to identify or select the appropriate pattern for a problem
 
- Adapter
 
- Bridge
 
- Singleton
 
- Factory
 
- MVC
 
- Strategy
 
- Command
 
- Proxy
 
- Observer
 
Swing
- Displaying a JFrame
 
- Familiarity with buttons, textfields, labels, textarea, panels, checkbox, radio button, list
 
- Using flowlayout, gridlayout, borderlayout
 
- Layout within layout using JPanels
 
- Listening to button clicks (ActionListener)
 
- Different ways to add a Listener: separate class, in JFrame class, inner class, anonymous class
 
- Handling mouse clicks
 
- Handling keyboard input
 
- Advantages/disadvantages of using an IDE for GUI design