Sunday, December 22, 2013

Applet application

Besides, desktop applications that run on operating systems, Java allows you to create applications that can be run on web browsers that enable Java or applet viewers. These types of applications are called applet applications. The java.applet package has Applet class that provides necessary support for applet applications.

Unlike desktop or stand-alone application, applet does not require the main method. The execution of the applet does not begin at the main method. Rather, Applet class provides different methods serving as the basic mechanism of executing an applet application on a web browser or applet viewer. These methods are init(), start(), paint(), stop(), and destroy(). When an applet begins, the init() methods is called. You can use this method to initialize variables. The init() method is called once. The start() method is called after the init() method. This method is called every time the applet's HTML page displays on the web browser. When the user leaves the HTML page that contains applet, the applet stops by calling the stop() method. When he/she comes back to that page, the start() method will be called again to resume the applet. The destroy() method will be called after the stop method to free up resources used by applet from memory. The paint method is called each time the applet needs to redraw its output. For example, the applet draw its output when it starts and it is minimized and restored.

Create an applet

To create an applet application, you will extend the Applet class in java.applet package. The following example code is a simple applet application to display an image and a button that can be clicked to change the background color of the applet's window. You need an image file called gmaptr.png.

import java.applet.Applet;
import java.awt.Button;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
/* 
<applet code="AppletApp" width=600 height=300> 
</applet> 
*/

public class AppletApp extends Applet implements ActionListener{

public void init(){
setSize(600,300);
setBackground(Color.LIGHT_GRAY);
Button bt=new Button("Change Color");
bt.setBackground(Color.PINK);
bt.addActionListener(this);
add(bt);

}

public void paint(Graphics g){
try {
MediaTracker mt=new MediaTracker(this);
URL imgurl=new URL(getCodeBase().toString()+"gmaptr.png");
Image img=getImage(imgurl);
mt.addImage(img,0);
mt.waitForID(0);
g.drawImage(img,10, 10,this);

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
showStatus("There are one button and one image on the applet window.");
}

public void actionPerformed(ActionEvent e){
Color c=getBackground();
if(c==Color.BLACK)
setBackground(Color.BLUE);
else

setBackground(Color.BLACK);
}
}


You need to create AppletApp.class file from the source code above. This can be done by compiling the source code with the javac command from command prompt.

Embed the applet in HTML file

In order to execute the applet on a web browser, you need to create an HTML file that includes the applet. You can include the applet within the HTML document by using the <applet> tag. Below is an example HTML file.

<!DOCTYPE html>
<html>
<head> <title>Applet Test</title>
</head>
<body>
<applet code="AppletApp" width=600 height=300>
</applet>
</body>

</html>

After you create the HTML file that contains applet, you can execute the applet by using the appletviewer tool that comes with JDK. The command line below will execute the AppletApp application in the appletviewer from command prompt.

D:\sitedemo\AppletApp\AppletTest\bin>appletviewer AppletApp.html


run applet from command prompt


If you are Eclipse user, you can execute the applet in the appletviewer from Eclipse by clicking the Run menu item.
Besides running the applet from command prompt and Eclipse, you can run the applet in a web browser that supports Java. You need to copy the AppleAppt.class, AppletApp.html, and other related files to a directory of your web server. Then run the HTML file as you do with other HTML, php, or jsp pages. In my machine i have Chrome browser and WampServer installed.


run applet from web browser


20 comments:

  1. Thanks for taking the time to provide us with your valuable statistics

    ReplyDelete
  2. Awesome interior what is an essay design that is because here is some thing good for the people who loved fashion and related trend

    ReplyDelete
  3. I read your post. It is very informative and helpful to me. I admire the message valuable information you provided in your article. Thank you for posting, again!

    ReplyDelete
  4. A lot of thanks for your whole effort on this web site. Kate really likes making time for investigation and it's really simple to grasp why. My partner and i hear all concerning the lively mode you convey efficient tricks by means of the website and as well recommend response from other individuals on that subject then our own daughter is now becoming educated a great deal. Enjoy the rest of the year. You're performing a brilliant job. digital marketing company

    ReplyDelete
  5. You all need to have such classes because there is much for your to learn and then implement this learning in a better model so just visit page and make your presentations worked.

    ReplyDelete
  6. I want to show my appreciation to this writer for rescuing me from such a condition. Because of checking throughout the world wide web and finding ideas which are not powerful, I was thinking my life was gone. Being alive without the approaches to the issues you have sorted out through your good guide is a serious case, as well as the kind which could have badly damaged my entire career if I hadn't discovered your web page. Your good mastery and kindness in playing with all the stuff was important. I am not sure what I would have done if I hadn't discovered such a thing like this. I can also at this point look forward to my future. Thanks very much for your high quality and sensible help. I won't hesitate to endorse your web site to any individual who needs to have support on this topic. SEO Singapore

    ReplyDelete
  7. Admiring the hard work you put into your blog and in depth information you present. It's nice to come across a blog every once in a while that isn't the same old rehashed material. Great read! I've bookmarked your site and I'm adding your RSS feeds to my Google account.
    scoping for the website project

    ReplyDelete
  8. Wow! Thank you! I permanently needed to write on my site something like that. Can I include a fragment of your post to my site? benefits of Instagram

    ReplyDelete
  9. Do you mind if I quote a couple of your posts as long as I provide credit and sources back to your blog? My blog is in the very same niche as yours and my visitors would really benefit from some of the information you provide here. Please let me know if this alright with you. Appreciate it!
    eFusion Technology Pte Ltd

    ReplyDelete
  10. of course like your web-site but you need to check the spelling on quite a few of your posts. A number of them are rife with spelling issues and I find it very bothersome to tell the truth nevertheless I’ll certainly come back again.
    search engine

    ReplyDelete
  11. Generally I do not read article on blogs, but I would like to say that this write-up very forced me to try and do it! Your writing style has been surprised me. Thanks, quite nice article.
    digital marketing firm

    ReplyDelete
  12. Greetings! I've been reading your blog for a while now and finally got the bravery to go ahead and give you a shout out from Austin Texas! Just wanted to mention keep up the good job!
    Everybody loves content

    ReplyDelete
  13. I'm not sure why but this site is loading very slow for me. Is anyone else having this problem or is it a problem on my end? I'll check back later on and see if the problem still exists.
    Singapore hotel promotion

    ReplyDelete
  14. Hey! I know this is kinda off topic however I'd figured I'd ask. Would you be interested in exchanging links or maybe guest authoring a blog post or vice-versa? My site covers a lot of the same subjects as yours and I feel we could greatly benefit from each other. If you are interested feel free to shoot me an e-mail. I look forward to hearing from you! Excellent blog by the way! army uniform

    ReplyDelete
  15. Hello! This is my first visit to your blog! We are a group of volunteers and starting a new project in a community in the same niche. Your blog provided us beneficial information to work on. You have done a outstanding job! small condo interior design singapore

    ReplyDelete
  16. I'm not sure if this is a formatting issue or something to do with internet browser compatibility but I thought I'd post to let you know.creative event agency Singapore

    ReplyDelete
  17. I am very enjoyed because of this blog. Its an insightful topic. It help me very much to solve some problems. Its opportunity are very fantastic and working style so speedy. funeral home

    ReplyDelete
  18. Very nice information thank you so much bro i like your ideas good work. putlocker

    ReplyDelete