DOC PREVIEW
Penn CIT 591 - GUI building with the AWT

This preview shows page 1-2-15-16-17-32-33 out of 33 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

JavaAWT (Abstract Window Toolkit)SwingSwing vs. AWTTo build a GUI...Containers and ComponentsAn Applet is Panel is a ContainerExample: A "Life" appletAppletsTo create an appletSome types of componentsCreating componentsAdding components to the AppletCreating a FrameArranging componentsFlowLayoutComplete example: FlowLayoutBorderLayoutBorderLayout with five ButtonsComplete example: BorderLayoutUsing a PanelGridLayoutComplete example: GridLayoutMaking components activeListenersWriting a ListenerMyButtonListenerListeners for TextFieldsAWT and SwingSummary I: Building a GUISummary II: Building a GUIVocabularyThe EndJavaGUI building with the AWT2AWT (Abstract Window Toolkit)Present in all Java implementationsDescribed in most Java textbooksAdequate for many applicationsUses the controls defined by your OStherefore it's “least common denominator”Difficult to build an attractive GUIimport java.awt.*;import java.awt.event.*;3SwingSame concepts as AWTDoesn’t work in ancient Java implementations (Java 1.1 and earlier)Many more controls, and they are more flexibleSome controls, but not all, are a lot more complicatedGives a choice of “look and feel” packagesMuch easier to build an attractive GUIimport javax.swing.*;4Swing vs. AWTSwing is bigger, slower, and more complicatedBut not as slow as it used to beSwing is more flexible and better lookingSwing and AWT are incompatible--you can use either, but you can’t mix themActually, you can, but it’s tricky and not worth doingLearning the AWT is a good start on learning SwingMany of the most common controls are just renamedAWT: Button b = new Button ("OK");Swing: JButton b = new JButton("OK");5To build a GUI...Make somewhere to display things—usually a Frame or Dialog (for an application), or an AppletCreate some Components, such as buttons, text areas, panels, etc.Add your Components to your display areaArrange, or lay out, your Components Attach Listeners to your Components Interacting with a Component causes an Event to occurA Listener gets a message when an interesting event occurs, and executes some code to deal with it6Containers and ComponentsThe job of a Container is to hold and display ComponentsSome common subclasses of Component are Button, Checkbox, Label, Scrollbar, TextField, and TextAreaA Container is also a ComponentThis allows Containers to be nestedSome Container subclasses are Panel (and Applet), Window, and Frame7An Applet is Panel is a Containerjava.lang.Object | +----java.awt.Component | +----java.awt.Container | +----java.awt.Panel | +----java.applet.Applet…so you can display things in an Applet8Example: A "Life" appletContainer (Applet)Containers (Panels)Component (Canvas)Components (Buttons)Components (Labels)Components (TextFields)9AppletsAn application has a public static void main(String args[ ]) method, but an Applet usually does notAn Applet's main method is in the BrowserTo write an Applet, you extend Applet and override some of its methodsThe most important methods are init( ), start( ), and paint(Graphics g)10To create an appletpublic class MyApplet extends Applet { … }this is the only way to make an AppletYou can add components to the appletThe best place to add components is in init( )You can paint directly on the applet, but……it’s better to paint on a contained componentDo all painting from paint(Graphics g)11Some types of componentsLabelButtonButtonCheckboxChoiceListScrollbarTextFieldTextAreaCheckboxGroupCheckbox12Creating components Label lab = new Label ("Hi, Dave!"); Button but = new Button ("Click me!"); Checkbox toggle = new Checkbox ("toggle"); TextField txt = new TextField ("Initial text.", 20); Scrollbar scrolly = new Scrollbar (Scrollbar.HORIZONTAL, initialValue, bubbleSize, minValue, maxValue);13Adding components to the Applet class MyApplet extends Applet { public void init () { add (lab); // same as this.add(lab) add (but); add (toggle); add (txt); add (scrolly); ...14Creating a FrameWhen you create an Applet, you get a Panel “for free”When you write a GUI for an application, you need to create and use a Frame:Frame frame = new Frame();frame.setTitle("My Frame");frame.setSize(300, 200); // width, height... add components ...frame.setVisible(true);Or:class MyClass extends Frame { ... setTitle("My Frame"); // in some instance method15Arranging componentsEvery Container has a layout managerThe default layout for a Panel is FlowLayoutAn Applet is a PanelTherefore, the default layout for a Applet is FlowLayoutYou could set it explicitly with setLayout (new FlowLayout( ));You could change it to some other layout manager16FlowLayoutUse add(component); to add to a component when using a FlowLayoutComponents are added left-to-rightIf no room, a new row is startedExact layout depends on size of AppletComponents are made as small as possibleFlowLayout is convenient but often ugly17Complete example: FlowLayoutimport java.awt.*;import java.applet.*;public class FlowLayoutExample extends Applet { public void init () { setLayout (new FlowLayout ()); // default add (new Button ("One")); add (new Button ("Two")); add (new Button ("Three")); add (new Button ("Four")); add (new Button ("Five")); add (new Button ("Six")); }}18BorderLayoutAt most five components can be addedIf you want more components, add a Panel, then add components to it.setLayout (new BorderLayout());add (new Button("NORTH"), BorderLayout.NORTH);19BorderLayout with five Buttonspublic void init() { setLayout (new BorderLayout ()); add (new Button ("NORTH"), BorderLayout.NORTH); add (new Button ("SOUTH"), BorderLayout.SOUTH); add (new Button ("EAST"), BorderLayout.EAST); add (new Button ("WEST"), BorderLayout.WEST); add (new Button ("CENTER"), BorderLayout.CENTER);}20Complete example: BorderLayoutimport java.awt.*;import java.applet.*;public class BorderLayoutExample extends Applet { public void init () { setLayout (new BorderLayout()); add(new Button("One"), BorderLayout.NORTH); add(new Button("Two"), BorderLayout.WEST); add(new Button("Three"), BorderLayout.CENTER); add(new Button("Four"), BorderLayout.EAST); add(new Button("Five"), BorderLayout.SOUTH); add(new Button("Six"),


View Full Document

Penn CIT 591 - GUI building with the AWT

Documents in this Course
Stacks

Stacks

11 pages

Arrays

Arrays

30 pages

Arrays

Arrays

29 pages

Applets

Applets

24 pages

Style

Style

33 pages

JUnit

JUnit

23 pages

Java

Java

32 pages

Access

Access

18 pages

Methods

Methods

29 pages

Arrays

Arrays

32 pages

Methods

Methods

9 pages

Methods

Methods

29 pages

Vectors

Vectors

14 pages

Eclipse

Eclipse

23 pages

Vectors

Vectors

14 pages

Recursion

Recursion

24 pages

Animation

Animation

18 pages

Animation

Animation

18 pages

Static

Static

12 pages

Eclipse

Eclipse

23 pages

JAVA

JAVA

24 pages

Arrays

Arrays

29 pages

Animation

Animation

18 pages

Numbers

Numbers

21 pages

JUnit

JUnit

23 pages

Access

Access

18 pages

Applets

Applets

24 pages

Methods

Methods

30 pages

Buttons

Buttons

20 pages

Java

Java

31 pages

Style

Style

28 pages

Style

Style

28 pages

Load more
Download GUI building with the AWT
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view GUI building with the AWT and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view GUI building with the AWT 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?