java applet. introductions applet is java program that can be embedded into html pages java applets...

Post on 14-Jan-2016

234 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java Applet

Introductions

Applet is java program that can be embedded into HTML pagesJava applets runs on the java enables web browsers such as mozila and internet explorer. Applet is designed to run remotely on the client browser, so there are some restrictions on it. Applet can't access system resources on the local computer. Applets are used to make the web site more dynamic and entertaining.

Advantages of Applet

* Applets are cross platform and can run on Windows, Mac OS and Linux platform * Applets can work all the version of Java Plugin * Applets runs in a sandbox, so the user does not need to trust the code, so it can work without security approval * Applets are supported by most web browsers * Applets are cached in most web browsers, so will be quick to load when returning to a web page * User can also have full access to the machine if user allows

Disadvantages of Java Applet

* Java plug-in is required to run applet * Java applet requires JVM so first time it takes significant startup time * If applet is not already cached in the machine, it will be downloaded from internet and will take time * Its difficult to desing and build good user interface in applets compared to HTML technology

The Applet class

To create an applet, you must import the Applet classThis class is in the java.applet packageThe Applet class contains code that works with a browser to create a display windowCapitalization matters! applet and Applet are different names

Importing the Applet class

Here is the directive that you need: import java.applet.Applet;import is a keywordjava.applet is the name of the packageA dot ( . ) separates the package from the classApplet is the name of the classThere is a semicolon ( ; ) at the end

Applet versus Application

Applets are small programs while applications are larger programs. Applets don't have the main method while in an application execution starts with the main method. Applets can run in our browser's window or in an appletviewer. To run the applet in an appletviewer will be an advantage for debugging. Applets are designed for the client site programming purpose while the applications don't have such type of criteria.

The Life cycle of An Applet

init(): This method is called to initialized an appletstart(): This method is called after the initialization of the applet.stop(): This method can be called multiple times in the life cycle of an Applet.destroy(): This method is called only once in the life cycle of the applet when applet is destroyed.

The Life cycle of An Applet

import java.awt.*;import java.applet.*;

class Myclass extends Applet{public void init(){}Publicvoidstart(){}public void stop() {}public void destroy() {}public void paint(Graphics g) {}

Applet Tag

[<] APPLET [CODEBASE = codebaseURL] CODE = appletFile [ALT = alternateText] [NAME = appletInstanceName] WIDTH = pixels HEIGHT = pixels [ALIGN = alignment] [VSPACE = pixels] [HSPACE = pixels] > [< PARAM NAME = appletParameter1 VALUE = value >] [< PARAM NAME = appletParameter2 VALUE = value >] . . [alternateHTML] [</]APPLET[>]

Creating First Applet Example

import java.applet.*;import java.awt.*;

public class FirstApplet extends Applet{ public void paint(Graphics g){ g.drawString("Welcome in Java Applet.",40,20); }}

HTML code

<HTML><HEAD></HEAD><BODY><APPLET ALIGN="CENTER" CODE="FirstApplet.class" WIDTH="800" HEIGHT="500"></APPLET></BODY></HTML>

Drawing Shapes Example in java

Graphics.drawLine() : to draw the line in the applet.drawLine(int X_from_coordinate, int Y_from_coordinate, int X_to_coordinate, int Y_to_coordinate);

Graphics.drawString() : draws the given string as the parameterdrawString(String string, int X_coordinate, int Y_coordinate);

Graphics.drawOval() : draws the circle

g.drawOval(int X_coordinate, int Y_coordinate, int Wdth, int height);

Graphics.drawRect() : draws the rectangle. Here is the syntax of the drawRect() method :

g.drawRect(int X_coordinate, int Y_coordinate, int Wdth, int height)

Drawing Shapes Example using color in java

Graphics.setColor() : sets the color for the object by specified color. setColor(Color.color_name);Graphics.fillOval() : to fill the color inside the oval by specified colorg.fillColor(Color.color_name);Graphics.fillRect() :to fill the color inside the rectangle by specified colorg.fillRect(int X_coordinate, int Y_coordinate, int Wdth, int height)

Passing Parameter in Java Applet

The param tag(<parma name="" value=""></param>) is used to pass the parameters to an applet

To access values String strParameter = this.getParameter("Message");

Event Listeners Example

To handle the events generated by these buttons you add action listeners

e.g. object_name.addActionListener(this);.

When the action event occurs, that object's actionPerformed method is invoked.

actionPerformed(ActionEvent e)

Display image

paint(Graphics g) has usedMediaTracker is a utility class that tracks the status of a number of media objectsimg - image name type of Image.x - lower X - Coordinate type of int.y - lower Y - Coordinate type of int.x1 - upper X - Coordinate type of int.y1 - upper Y - Coordinate type of int.

Java Swing Tutorial

Java Swing

* A part of The JFC * Swing Java consists of Look and feel Accessibility Java 2D Drag and Drop, etc

IntroductionsSwing is one of the Graphical User Interface tool. Swing is used to develop the graphical user interface (GUI) in java. Swing components used for the building of GUI. Swing components are helpful for interactivity to Java applications. The components of Swing toolkit are given below: list controls buttons labels tree controls table controls

Java Swing Class Hierarchy

Swing Events

event source // The Event source is the object. It generates Events. event object // The Event object encapsulates the condition changes in the event source.event listener // The Event listener is the object that requests to be notified Event source:Object is handling an event to the event listener.Event handling in Swing toolkit is very easy to handle and powerful.Objects are notified when a specific event occurs.

JFrame

Open frame place the icon on the title bar.Methods are as follows:frame.setIconImage(Toolkit.getDefaultToolkit().getImage("icon_confused.gif")); it’s using the Image class method named getImage().frame.getDefaultToolkit(): //This is the method of the Toolkit class which gets the default toolkit.

createAndShowGUI

private static void createAndShowGUI() { //Create and set up the window. JFrame frame = new JFrame("Hi.."); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Add a label. JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label); //Display the window. frame.pack(); frame.setVisible(true); }

Menus

JMenuBar

JMenu

JMenuItem

checkBox

import javax.swing.*; JCheckBox chk = new JCheckBox("This is the Check Box"); frame.add(chk);

Text Areaimport javax.swing.JTextArea; // Create a text area with some initial text JTextArea textarea = new JTextArea("Initial Text"); int rows = 20; int cols = 30; textarea = new JTextArea("Initial Text", rows, cols);TextFieldJTextField t = new JTextField("Text field 3", 8);

JButton

Button: Two types: JButton(), JButton(Name) JButton () is used for create blank JButton instance. JButton (Name) is used for create a JButton instance with the specified text. JButton Button1; Button1 = new JButton ("Black is White"); add (Button1);

Layout Managers

Most Swing UIs utilise a LayoutManager to control positioning of itemsThere is a choice of these which work in different waysInitially we do without one, and position items ourselves: frame.setLayout(null);

Absolute positioning

JFrame frame = new JFrame("I am a JFrame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(20,30,300,100);frame.setLayout(null);JButton butt=new JButton("Click me");frame.getContentPane().add(butt);butt.setBounds(20, 20, 200,20);frame.setVisible(true);

FlowLayout

JFrame.setDefaultLookAndFeelDecorated(true);JFrame frame = new JFrame("FlowLayout");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(new FlowLayout());JButton b1 = new JButton("Hello");frame.getContentPane().add(b1);JButton b2 = new JButton("Two");frame.getContentPane().add(b2);JTextField t1 = new JTextField("Text here");frame.getContentPane().add(t1);frame.pack();frame.setVisible(true);

BorderLayoutJFrame.setDefaultLookAndFeelDecorated(true);JFrame frame = new JFrame("Border");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton b1 = new JButton("At the top");frame.getContentPane().add(b1,BorderLayout.PAGE_START );JButton b2 = new JButton("Bottom");frame.getContentPane().add(b2,BorderLayout.PAGE_END);JTextField t1 = new JTextField("Left");frame.getContentPane().add(t1,BorderLayout.LINE_START);JTextField t2 = new JTextField("Right");frame.getContentPane().add(t2,BorderLayout.LINE_END);JButton b3 = new JButton("Centre");frame.getContentPane().add(b3,BorderLayout.CENTER );frame.pack();frame.setVisible(true);

Grid Layout

JFrame.setDefaultLookAndFeelDecorated(true);JFrame frame = new JFrame("Grid");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(new GridLayout(4,3,5,5));for (int i=0; i<10; i++) frame.getContentPane().add(new JButton(""+i));frame.pack();frame.setVisible(true);

Swing has a lot of classes

controls

User I/O widgets eg JButton

containers

things that hold other thingseg JFRame

Containers

general purpose containers - panel scroll pane split pane tabbed pane tool bar

top level containers - JFrame JApplet JDialog

JPanel ( in createAndShowGUI)

JFrame.setDefaultLookAndFeelDecorated(true);JFrame frame = new JFrame("I am a JFrame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(20,30,300,100);frame.setLayout(null);//Create a panel JPanel myPanel = new JPanel();myPanel.setBackground(new Color(255,3,25));myPanel.setOpaque(true); //Make it the content pane.frame.setContentPane(myPanel);frame.setVisible(true);

Tooltip and border

myPanel.setOpaque(true); myPanel.setToolTipText("I'm a JPanel");myPanel.setBorder(BorderFactory.createLineBorder(Color.white)); frame.setContentPane(myPanel); ..

JSplitPane

setLayout(null);

//Create a split pane

JSplitPane myPane = new JSplitPane();

myPane.setOpaque(true);

frame.setContentPane(myPane);

frame.setVisible(true);

JSplitPane with JPanels

//Create a split paneJSplitPane myPane = new JSplitPane();myPane.setOpaque(true);myPane.setDividerLocation(150);// make two panelsJPanel right = new JPanel();right.setBackground(new Color(255,0,0));JPanel left = new JPanel();left.setBackground(new Color(0,255,0));// set as left and right in splitmyPane.setRightComponent(right); myPane.setLeftComponent(left);

Exercise

top related