* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Window - SNS Courseware
Stereoscopy wikipedia , lookup
Tektronix 4010 wikipedia , lookup
Color vision wikipedia , lookup
Indexed color wikipedia , lookup
Waveform graphics wikipedia , lookup
BSAVE (bitmap format) wikipedia , lookup
Framebuffer wikipedia , lookup
Hold-And-Modify wikipedia , lookup
Apple II graphics wikipedia , lookup
AWT • Java AWT (Abstract Windowing Toolkit) is an API to develop GUI or window-based application in java. • Java AWT components are platform-dependent i.e. components are displayed according to the view of operating system. AWT is heavyweight i.e. its components uses the resources of system. • The java.awt package provides classes for AWT api such as TextField, Label, TextArea, RadioButton, CheckBox, Choice, List etc. • AWT Classes Windows Fundamentals • The two most common windows are those derived from Panel, which is used by applets, and those derived from Frame, which creates a standard application window. • Much of the functionality of these windows is derived from their parent classes. • Thus, a description of the class hierarchies relating to these two classes is fundamental to their understanding. The class hierarchy for Panel and Frame • Component • Component is an object having a graphical representation that can be displayed on the screen and that can interact with the user. For examples buttons, checkboxes, list and scrollbars of a graphical user interface. • Container • Container object is a component that can contain other components. Components added to a container are tracked in a list. The order of the list will define the components' front-toback stacking order within the container. If no index is specified when adding a component to a container, it will be added to the end of the list. • Panel • Panel provides space in which an application can attach any other components, including other panels. • Window • Window is a rectangular area which is displayed on the screen. In different window we can execute different program and display different data. Window provide us with multitasking environment. A window must have either a frame, dialog, or another window defined as its owner when it's constructed. • Frame • A Frame is a top-level window with a title and a border. The size of the frame includes any area designated for the border. Frame encapsulates window. It and has a title bar, menu bar, borders, and resizing corners. • Canvas • Canvas component represents a blank rectangular area of the screen onto which the application can draw. Application can also trap input events from the use from that blank area of Canvas component. Working with Frame Windows • Two of Frame’s constructors: – Frame( ) – Frame(String title) • The first form creates a standard window that does not contain a title. • The second form creates a window with the title specified by title. • Setting the Window’s Dimensions • void setSize(int newWidth, int newHeight) • void setSize(Dimension newSize) • Dimension getSize( ) - obtain the current size of a window • Hiding and Showing a Window • After a frame window has been created, it will not be visible until setVisible( ) is called. – void setVisible(boolean visibleFlag) • Setting a Window’s Title – void setTitle(String newTitle) • Closing a Frame Window – setVisible(false) – windowClosing( )method of the WindowListener interface • Examples: • AppletFrame.java • WindowEvents.java Working with Graphics • A graphics context is encapsulated by the Graphics class and is obtained in two ways: – It is passed to an applet when one of its various methods, such as paint( ) or update( ), is called. – It is returned by the getGraphics( )method of Component • The Graphics class defines a number of drawing functions. • Each shape can be drawn edge-only or filled. • Objects are drawn and filled in the currently selected graphics color, which is black by default. • When a graphics object is drawn that exceeds the dimensions of the window, output is automatically clipped. • • • • • • • • • • • • • • • • • • Drawing Lines void drawLine(int startX, int startY, int endX, int endY) Eg: Lines.java Drawing Rectangles void drawRect(int top, int left, int width, int height) void fillRect(int top, int left, int width, int height) void drawRoundRect(int top, int left, int width, int height,int xDiam, int yDiam) void fillRoundRect(int top, int left, int width, int height,int xDiam, int yDiam) Drawing Ellipses and Circles void drawOval(int top, int left, int width, int height) void fillOval(int top, int left, int width, int height) Drawing Arcs void drawArc(int top, int left, int width, int height, int startAngle,int sweepAngle) void fillArc(int top, int left, int width, int height, int startAngle,int sweepAngle) Drawing Polygons void drawPolygon(intx[ ], inty[ ], int numPoints) void fillPolygon(intx[ ], inty[ ], int numPoints) Eg: HourGlass.java • Sizing Graphics • getSize( ) - returns the dimensions of the window encapsulated within a Dimension object. • Eg. ResizeMe.java Working with Colors - portable, device-independent fashion eg: ColorDemo.java • Color defines several constants to specify a number of common colors. • Own color creation. Three commonly used forms are shown here: – Color(int red, int green, int blue) – Color(int rgbValue) – Color(float red, float green, float blue) – Eg: new Color(255, 100, 100); • Color Methods – Using Hue, Saturation, and Brightness • static int HSBtoRGB(float hue, float saturation, float brightness) • static float[ ] RGBtoHSB(int red, int green, int blue, float values[ ]) • int getRed( ) • int getGreen( ) • int getBlue( ) - returns the RGB color component found in the invoking Color object in the lower 8 bits of an integer. • int getRGB( ) • Setting the Current Graphics Color – void setColor(Color newColor) – Color getColor( ) • Setting the Paint Mode eg: XOR.java • The paint mode determines how objects are drawn in a window. • New output to a window overwrites any preexisting contents. • void setXORMode(Color xorColor) • The advantage of XOR mode is that the new object is always guaranteed to be visible no matter what color the object is drawn over. • To return to overwrite mode, call setPaintMode(),void setPaintMode( ) Working with Fonts • The AWT provides flexibility by – abstracting font-manipulation operations and – allowing for dynamic selection of fonts. • Fonts have a family name, a logical font name, and a face name. • The family name is the general name of the font, such as Courier. • The logical name specifies a category of font, such as Monospaced. • The face name specifies a specific font, such as Courier Italic. • Fonts are encapsulated by the Font class. • Determining the Available Fonts eg: ShowFonts.java – String[ ] getAvailableFontFamilyNames( ) – Font[ ] getAllFonts( ) – static GraphicsEnvironment getLocalGraphicsEnvironment( ) • Creating and Selecting a Font eg SampleFonts.java – Font(String fontName, int fontStyle, int pointSize) • Font style: Font.PLAIN,Font.BOLD, andFont.ITALIC. – void setFont(Font fontObj) • Obtaining Font Information eg: FontInfo.java – Font getFont( ) Managing Text output using FontMetrics • FontMetrics defines several methods that help you manage text output. – Displaying Multiple Lines of Text – Centering Text – Multiline Text Alignment