1 / 30

Java Applications

Java Applications. Consist of a class definition Example public class name { instance variables methods (like main) public static void main(String args[]) { statements } } Most Java programs use and define multiple classes. Object Oriented Programming in Java.

kzamora
Download Presentation

Java Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Applications • Consist of a class definition • Examplepublic class name { instance variables methods (like main) public static void main(String args[]) { statements }} • Most Java programs use and define multiple classes

  2. Object Oriented Programming in Java • Objects simulate real world entities • Object Oriented Programming (OOP) • Encapsulates • Instance variables (attributes) • Methods (behaviors) • Allows objects to communicate • Well-defined interfaces • Classes define what an object is • Objects are instances of classes

  3. Java API • Java is comprised of many predefined classes • See Java APIhttp://java.sun.com/j2se/1.5.0/docs/api/index.html • We have already used some of these • System • Scanner • Math • We will use and create many others

  4. Naming Conventions • Classes simulate entities • Identify using noun phrases • Capatalize first letter and first letter of other words • Instance variables hold attributes • Identify using noun phrases • Use lower case first letter and uppercase first letter of other words • Methods represent actions • Identify using a verb phrase • Use lower case first letter and uppercase first letter of other words

  5. JFrame Class • A JFrame is a top-level window with a title and a border • Used to create graphical applications • We add other components to our JFrame • Deals with operating system issues

  6. JPanel Class • A JPanel is a container for • Holding other graphical objects • Specialized drawing • Has a paintComponent method • By default, paintcomponent has empty body • Override (redefine) paintComponent in our class • Done using the extends keyword • A feature of object oriented programming, called inheritance • Draws itself by calling the paintComponent method when created

  7. Graphical Java Applications • Consist of two or more class definitions • See Figures 4.19 and 4.20 • Notes • DrawPanelTest • Is the graphical application • uses DrawPanel class • Uses a JFrame class • DrawPanel • Adds specialization to a JPanel • Graphical operations performed in PaintComponent() • Uses Graphics class

  8. Painting • Method paintComponent • Draws graphics on screen • void indicates paintComponent returns nothing when finishes task • paintComponent gets parameters automatically • Graphics object used by paintComponent • Mimic paintComponent's first line • super.paintComponent(g) • Calls version of method from superclass • Should be first statement in paintComponent method • Typical of what we need to to when we inherit from an existing class

  9. Java Screen Coordinates • Java coordinate system • Measured in pixels (picture elements) • Upper left is (0,0)

  10. Painting using the Graphics Class • See the Graphics class API for more details • Called using Graphics object g and dot (.) followed by method name, then parentheses with arguments • Parentheses define parameter list • Methods receive data from calling methods to perform tasks • Parameters are defined by position in list • Type and numbers of parameters must match specification

  11. Drawing Strings • drawString(String str, int x, int y) • str - the string to be drawn. • x - the x coordinate. • y - the y coordinate. • Draws the text given by the specified string • Uses the current font and color • The baseline of the leftmost character is at position (x, y) in this graphics context's coordinate system.

  12. Drawing Lines • DrawLine(int x1, int y1, int x2, int y2) • x1 - the first point's x coordinate. • y1 - the first point's y coordinate. • x2 - the second point's x coordinate. • Y2 - the second point's y coordinate. • Draws a line • using the current color • between the points (x1, y1) and (x2, y2)

  13. Drawing Rectangles • DrawRect(int x, int y, int width, int height) • x - the x coordinate of the rectangle to be drawn. • y - the y coordinate of the rectangle to be drawn. • width - the width of the rectangle to be drawn. • Height - the height of the rectangle to be drawn. • Draws the outline of the specified rectangle. • The left and right edges of the rectangle are at x and x + width. • The top and bottom edges are at y and y + height.

  14. Drawing Rounded Rectangles • drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) • x - the x coordinate of the rectangle to be drawn. • y - the y coordinate of the rectangle to be drawn. • width - the width of the rectangle to be drawn. • height - the height of the rectangle to be drawn. • arcWidth - the horizontal diameter of the arc at the four corners. • arcHeight - the vertical diameter of the arc at the four corners. • Draws an outlined round-cornered rectangle.

  15. Drawing Filled Rectangles • fillRect(int x, int y, int width, int height) • Fills the rectangle • Uses same parameters as drawRect • fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) • Fills the round-cornered rectangle. • Uses same parameters as drawRoundRect

  16. Drawing Ovals • drawOval(int x, int y, int width, int height) • x - the x coordinate of the upper left corner of the oval to be drawn. • y - the y coordinate of the upper left corner of the oval to be drawn. • width - the width of the oval to be drawn. • Height - the height of the oval to be drawn. • Draws the outline of an oval. • The result is a circle or ellipse that fits within the rectangle specified by the x, y, width, and height arguments. • The oval covers an area that is width + 1 pixels wide and height + 1 pixels tall.

  17. Drawing Arcs • drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) • x - the x coordinate of the upper-left corner of the arc to be drawn. • y - the y coordinate of the upper-left corner of the arc to be drawn. • width - the width of the arc to be drawn. • height - the height of the arc to be drawn. • startAngle - the beginning angle. • ArcAngle - the angular extent of the arc, relative to the start angle.

  18. Drawing Arcs • Draws the outline of a circular or elliptical arc covering the specified rectangle. • The resulting arc begins at startAngle and extends for arcAngle degrees, using the current color. • Angles are interpreted such that • 0 degrees is at the 3 o'clock position. • A positive value indicates a counter-clockwise rotation • A negative value indicates a clockwise rotation. • The center of the arc is the center of the rectangle whose origin is (x, y) and whose size is specified by the width and height arguments.

  19. Drawing Filled Ovals and Arcs • fillOval(int x, int y, int width, int height) • Uses same parameters as drawOval • fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) • Uses same parameters as drawArc

  20. Color • setColor(Color c) • c - the new rendering color. • Sets this graphics context's current color to the specified color. • Uses this color for drawing until it is changed by another SetColor call

  21. Color Class • Java uses a Color class to model colors • Uses the tristimulus red, green, blue (RGB) model • We can create a Color object in several ways including • Color(float r, float g, float b) • Creates an RGB color with the specified red, green, and blue values in the range (0.0 - 1.0). • Color(int r, int g, int b) • Creates an RGB color with the specified red, green, and blue values in the range (0 - 255). • See the Color API specification for more details

  22. Anatomy of a Java Class • A Java class has several parts • A name • An optional set of instance variables • An optional set of methods

  23. Java Class Names • A Java class name • Identifies the class to other java entities • Should have an upper case first letter to follow conventions • Examplepublic class SillyClass {} • This is the trivial class • It stores nothing • It can manipulate nothing

  24. Java Instance Variables • Any set of variables can be defined • Define before any methods • These can be used in all methods • Sometimes are called global variables • Some classes might not have any methods

  25. Java Methods • Define how the class interacts with others • Methods have parameters • Similar to mathematical functions • Parameters define the contents of a message • Methods have a return value (can be void) • Several special types of methods • Constructor • Accessor • Mutator • Main • toString • A class may not have any methods

  26. Constructor Methods • Defines how an instance (object) of the class can be created • Defined using the formpublic ClassName(parameters) { stuff } • Classes create objects with the new keyword followed by class name • Often inintialize a subset of the instance variables • Most, but not all, classes have constructors • ExamplesScanner input = new Scanner(System.in);JFrame app = new JFrame();

  27. Accessor Methods • Defines how an instance (object) of the class can be accessed • Defined using the formpublic type methodName(parameters) • Since these are actions, a verb-phrase is used to define the method name • Often are of the form getStuff()

  28. Mutator Methods • Defines how an instance (object) of the class can be modified • Defined using the formpublic type methodName(parameters) • Since these are actions, a verb-phrase is used to define the method name • Often are of the form setStuff() with a return type of void

  29. Main Method • The main method defines how the program starts • Always has the formpublic static void main(String args[ ]) { statements;}

  30. toString Method • The toString method defines how the class can be converted to a human readable string of characters • Always has the formpublic String toString() { statements; return someString;}

More Related