1 / 20

Java Applets

Java Applets. Objective: Learn how to develop Java programs that interact with users through a Web browser. Java Applet Lifecycle Methods. init ( ) Called when applet is loaded onto user’s machine. Prep work or one-time-only work done at this time. start ( )

urian
Download Presentation

Java Applets

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 Applets Objective: Learn how to develop Java programs that interact with users through a Web browser CS423 (cotter)

  2. Java Applet Lifecycle Methods • init ( ) • Called when applet is loaded onto user’s machine. Prep work or one-time-only work done at this time. • start ( ) • Called when applet becomes visible (page called up). Called every time applet becomes visible. • stop ( ) • Called when applet becomes hidden (page loses focus). • destroy ( ) • Guaranteed to be called when browser shuts down. CS423 (cotter)

  3. Applets vs. Applications • Extend Applet instead of Frame • Use of init( ) vs. constructor • No use of main( ) • Default layout managers • application: BorderLayout • applet: FlowLayout • Security CS423 (cotter)

  4. Applet Presentation • Uses applet Tag in HTML <HTML> <TITLE> MyNewApplet </TITLE> <BODY> Here’s My first Applet <APPLET CODE = “MyNewApplet” WIDTH = 300 HEIGHT = 200> </APPLET> </BODY> </HTML> CS423 (cotter)

  5. Applet Inheritance (extension) • Object - “cosmic base class” • Component - button, listBox • Container - dialog box • Panel - “sub-window”, group of buttons, etc. • Applet - small application, web enabled • MyApplet - specific instance of an applet CS423 (cotter)

  6. MyTextApplet import java.applet.*; import java.awt.*; import java.awt.event.*; public class MyTextApplet extends Applet { public void init() { setBackground(Color.gray); Panel p = new Panel(); ButtonAction aButtonAction = new ButtonAction(); p.setLayout(new FlowLayout()); tickButton = new Button("Tick"); tickButton.addActionListener(aButtonAction); p.add(tickButton); CS423 (cotter)

  7. MyTextApplet setButton = new Button("Set time"); setButton.addActionListener(aButtonAction); p.add(setButton); hourField = new TextField("12", 3); p.add(hourField); minuteField = new TextField("00", 3); p.add(minuteField); timeField = new TextField("", 12); p.add(timeField); add(p); } CS423 (cotter)

  8. MyTextApplet Class ButtonAction implements ActionListener { public void actionPerformed(ActionEvent evt) { String buttoncommand = evt.getActionCommand(); if (buttoncommand.equals("Tick")) { int minutes = Integer.parseInt(minuteField.getText()); minutes += 1; String min = String.valueOf(minutes); minuteField.setText(min); } CS423 (cotter)

  9. MyTextApplet else if (buttoncommand.equals("Set time")) { int hours = Integer.parseInt(hourField.getText()); int minutes = Integer.parseInt(minuteField.getText()); String tim = hourField.getText() + ":" + minuteField.getText(); timeField.setText(tim); } } } //end of ButtonAction private TextField hourField; private TextField minuteField; private TextField timeField; private Button tickButton; private Button setButton; } CS423 (cotter)

  10. HTML file for MyTextApplet <HTML> <HEAD> <TITLE> My Text Applet Demo </TITLE> </HEAD> <BODY background="Image1.jpg"> <H1> Here's my Demo Applet </H1> <HR SIZE = 3> <APPLET CODE = MyTextApplet WIDTH = 300 HEIGHT = 100> </APPLET> </BODY> </HTML> CS423 (cotter)

  11. MyTextApplet Output CS423 (cotter)

  12. Parameter Passing to Applets import java.applet.*; import java.awt.*; public class FontApplet extends Applet { public void paint (Graphics g) { String fontName = getParameter ("font"); int fontSize = Integer.parseInt (getParameter("size")); Font f = new Font(fontName, Font.BOLD, fontSize); g.setFont (f); g.drawString("Welcome to CS423", 25, 50); } } CS423 (cotter)

  13. HTML file for FontApplet <HTML> <TITLE> FontApplet </TITLE> <BODY background=“Image1.jpg”> Here’s a demo of parameter passing to an Applet <hr> <APPLET CODE = "FontApplet" WIDTH = 300 HEIGHT = 200> <PARAM NAME = font VALUE = "Helvetica"> <PARAM NAME = size VALUE = "24"> </APPLET> </BODY> </HTML> CS423 (cotter)

  14. FontApplet.htm CS423 (cotter)

  15. Using Applet Parameters in VJ++ CS423 (cotter)

  16. Java Applet Lifecycle Methods(again...) • init ( ) • Called when applet is loaded onto user’s machine. Prep work or one-time-only work done at this time. • start ( ) • Called when applet becomes visible (page called up). Called every time applet becomes visible. • stop ( ) • Called when applet becomes hidden (page loses focus). • destroy ( ) • Guaranteed to be called when browser shuts down. CS423 (cotter)

  17. LifecycleApplet.java import java.applet.Applet; import java.awt.Graphics; public class LifecycleApplet extends Applet { public LifecycleApplet() { System.out.println("Constructor running..."); } public void init() { System.out.println("This is init."); } public void start() { System.out.println("Applet started."); } public void paint(Graphics theGraphics) { theGraphics.drawString("Hello, World!", 0, 50); System.out.println("Applet just painted."); } public void stop() { System.out.println("Applet stopped."); } public void destroy() { System.out.println("Applet destroyed."); } } CS423 (cotter)

  18. LifecycleApplet.java CS423 (cotter)

  19. LifecycleApplet.java CS423 (cotter)

  20. Summary • Java Applet managed through applet lifecycle • Applet can interact with browser through HTML code • Uses Event programming model to interact with user (using buttons, textfields, etc.) CS423 (cotter)

More Related