Java Topics I Cover in CSIT 225

If you need any of the topics below, please email me. There is a lot of stuff that you may find it hard to find elsewhere.

  1. Installation of Java; history of Java; why Java; differences between Java and other languages especially C++; Java text editors.
  2. Applications and applets; Java input and output; data types; scientific notation; formatting the output; intializations in Java; classes associated with the basic data types (e.g. Long, Double, etc); implicit and explicit type casting.
  3. Object-oriented programming; abstract; final; static; interface; class; extends; implements; inheritance; public; private; inner and outer classes; polymorhism; super; this; constructors.
  4. Arrays (all kinds), array processing, and methods to use or not use with them.
  5. Methods (recursive and non-recursive); recursion.
  6. Selection sort and binary search.
  7. String and character processing; String, StringTokenizer, and StringBuffer classes.
  8. The Math class.
  9. Conversion from one number system (e.g. binary, hexadecimal, etc.) to another.
  10. Input, message, and confirm dialogs.
  11. GUI.
  12. Font, Color, Image and ImageIcon classes; JColorChooser.
  13. Frames, panels, desktops, and containers; JFrame; JPanel; JDeskTop; JLabel; JButton; JTextField; JTextArea; JRadioButton; JCheckBox; JComboBox; JList; JTable; JTextPabe; JPaneEditor; JToolBar; JSpinner; JSlider; (also JTabbed Pane which was covered in one of the students' projects).
  14. Applets; JApplet; Applet; Handling images and sounds in applets.
  15. AppletViewer (why not use) vs. the browser.
  16. Passing parameters to applets.
  17. ActionListener and ListSelectionListener interfaces.
  18. MouseListener; MouseMotionListener.
  19. KeyListener.
  20. Layout managers: null, BorderLayout, GridLayout, FlowLayout.
  21. Clipborad; Transferable; DataFlavor; tooltips; scrollbars; mnemonic; accelerators; alignments; separators; strokes; and others.
  22. A component (e.g. a button) with multiple actions.
  23. Inner frames and multi-frames.
  24. Menus and toolabrs; JMenu; JMenuItem; JMenuBar; JPopupMenu; JtoolBar.
  25. Centering the frame/applet; specifying location and size of componenets.
  26. Conversion from an application to an applet and vice versa.
  27. Running the program as both an application and an applet.
  28. Popup windows.
  29. Animations.
  30. Audio playing.
  31. Threads.
  32. Time and date.
  33. Printing (to the printer) files and graphics; print dialog.
  34. Graphics; drawing geometric shapes, equations, and others; paint; paintComponent; drawing on a frame and on a panel.
  35. System commands.
  36. Look&Feel; changing the appearance of the window and the components.
  37. Removing/replacing the Java icon from the program; having an image background for the frame/applet; determining during execution on which platform the program is running.
  38. Exceptions; exception handling.
  39. Input Validation.
  40. Files (input and output); streams.
  41. File Dialogs.
  42. The File class.
  43. Saving/reading objects to/from files.
  44. Packages (built in and user-defined).
  45. Using HTML in Java.
  46. Javadoc.
  47. Examples like: our own fontchooser, colorchooser, wordprocessor, convertor from text to HTML, animations, digital clock, conversion from any system (e.g. hexadecimal) to any other system (e.g. octal), a password generator, our own PaintBrush, our own FileDialog, slide shows, etc.
  48. Other topics.

Remark:

A large percentage of the topics covered is not in the textbook.