9.1 Java Packages. 9.1.1 A collection of classes Allows classes to be grouped arbitrarily Hierarchical structure independent of inheritance Classes can.

Download 9.1 Java Packages. 9.1.1 A collection of classes Allows classes to be grouped arbitrarily Hierarchical structure independent of inheritance Classes can.

Post on 13-Dec-2015

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1

9.1 Java Packages Slide 2 9.1.1 A collection of classes Allows classes to be grouped arbitrarily Hierarchical structure independent of inheritance Classes can be grouped by function without needing to be directly related Slide 3 The PATH environment variable The PATH environment variable is very similar to a package Files are stored on your local hard disk in an hierarchical structure The executable files could be distributed throughout this structure The PATH variable defines a package of folders that have executable files in them Slide 4 9.1.2 Class loading and how it works Classes are declared as belonging to a package using the package keyword If there is no such declaration, the class belongs to the default package which corresponds to the current directory To access any class, you must specify the package The only exception to this is the java.lang package Slide 5 9.1.3 Locating explicit package declarations When you specify a class in your program the JVM must find the.class file to load it The JVM searches as follows: 1.The standard directories (in the JDK directory structure) 2.The default package (current directory) 3.Directories specified by the CLASSPATH environment variable Slide 6 9.1.3 Locating explicit package declarations To include a class that is not in java.lang or in the default package: java.util.Date myDate; myDate = new java.util.Date(); Or import java.util.Date; import java.util.*; Date myDate; myDate = new Date(); Slide 7 9.2.2 Packaging classes Declare the package that the class is to be a member of Create the directory structure exactly matching the package declaration Use javac to compile, and specify the d option, whose argument is the root of the package tree Slide 8 9.2.2 Packaging classes For your program to run correctly, the package directory structure must exist on the target computer This can be inconvenient if the program is loading over the Internet Your entire package directory structure can be compressed in to one jar file The jar file can be easily downloaded, and the JVM can search it for the package classes Slide 9 9.3.1 Accessing packages Declaring a class to be a member of a package must be the first non- comment in the file Importing other packages must occur before the class definition Slide 10 9.5.1 GUI and terminology Components are the core building blocks of a GUI Pre-defined elements, such as Buttons, Windows, TextFields and Panels Components that can hold other components are containers The Java Foundation Classes support five GUI APIs This course focuses on AWT only Slide 11 9.5.1 Understanding the model view controller pattern Users today expect a Graphical User Interface (GUI) when using applications Java provides the building blocks to create GUIs Model View Controller is a design pattern for class design MVC requires separate classes for data modelling, interfacing and event handling Slide 12 9.5.2 Applying GUI concepts Creating a GUI requires a thorough understanding of AWT Navigating the AWT API documentation is critical java.awt.Frame java.awt.Button Slide 13 9.5.3 AWT categories Draw graphics or manipulate images Graphics, Image, Insets, Point, Polygon, Rectangle Position visual elements BorderLayout, CardLayout, CheckboxGroup, java.lang.Object, FlowLayout, GridBagLayout, GridLayout Change the properties of the visual elements Toolkit, Color, Font, FontMetrics, CheckboxGroup Create graphical components MenuComponent, Component, MenuBar, MenuItem,, Menu, PopupMenu, CheckboxMenuItem, Button, Canvas, Checkbox, Choice, Label, List, Scrollbar, TextComponent, TextArea, TextField, Components that hold other components Container, Panel, Window, ScrollPane, Dialog, Frame, Applet, (java.applet, package), FileDialog