Jump to content

Compiling an Applet

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
2 replies to this topic

#1
Stevenvdr

Stevenvdr

    Newbie

  • Members
  • Pip
  • 3 posts
Hi,

Yesterday, I've written my first applet. It ran fine within Eclipse, so I wanted to try exporting it and view it in a browser. However I can't get it to work, I've searched the internet on how to compile, but still it doesn't work.

Would someone like to explain me step by step how to go from code to the applet in a browser.

Thank you very much!

This is my code:
package Applets;

import java.awt.*;

import java.awt.event.*;

import java.util.*;


import javax.swing.JApplet;

public class Dammen extends JApplet implements MouseListener{

	/**

	 * 

	 */

	private static final long serialVersionUID = 1L;

	Dambord bord;

	String s="Doe een zet, wit aan zet";

	int x_in,y_in,x_uit,y_uit;

	public void init(){

		bord= new Dambord();

		addMouseListener(this);

		resize(500, 600);

	}

	public void paint(Graphics g){

		

		for(int i=0;i<10;i++){

			for (int j=0;j<10;j++){

				if((i%2==1&& j%2==0)||(i%2==0&&j%2==1)){

					g.setColor(Color.white);

				}

				else g.setColor(Color.black);

				g.fillRect(50*i, 50*j, 50, 50);

			}

		}

		g.setColor(Color.BLACK);

		for(int i=0;i<bord.x_wit.size();i++){

			g.drawOval(50*bord.x_wit.get(i)+12, 50*bord.y_wit.get(i)+12, 25, 25);

		}

		for (int i=0;i<bord.y_zwart.size();i++){

			g.fillOval(50*bord.x_zwart.get(i)+12, 50*bord.y_zwart.get(i)+12, 25, 25);

		}

		g.drawString(s, 0, 550);

	}

	

	

	class Dambord{

		public ArrayList<Integer>	x_wit;

		public ArrayList<Integer>	y_wit;

		public ArrayList<Integer>	x_zwart;

		public ArrayList<Integer>	y_zwart;

		private int aan_zet;

		public Dambord(){

			x_wit=new ArrayList<Integer>();

			y_wit=new ArrayList<Integer>();

			x_zwart=new ArrayList<Integer>();

			y_zwart=new ArrayList<Integer>();

			aan_zet=0;

			for (int i=0;i<10;i++){

				for(int j=0;j<10;j++){

					if((i%2==1&& j%2==0)||(i%2==0&&j%2==1)){

						if (j<4){

							x_wit.add(i);

							y_wit.add(j);

						}

						if (j>5){

							x_zwart.add(i);

							y_zwart.add(j);

						}

					} 

				}

			}

		}

		public String doeZet(int x_0,int y_0,int x_1, int y_1){

			if (x_0==x_1&&y_0==y_1)return "Geen actie ondernomen";

			if (aan_zet==0){	//TODO pion pakken, 

				int a=this.zoekPosWit(x_0, y_0);

				if (a==-1)return "Ongeldige zet";//geen pion gevonden

				

				if (Math.abs(x_1-x_0)==1&&(y_1-y_0)==1){ //gewone zet

					if (this.zoekPosWit(x_1, y_1)!=-1||this.zoekPosZwart(x_1, y_1)!=-1)return "Ongeldige zet";

					x_wit.remove(a);

					y_wit.remove(a);

					x_wit.add(x_1);

					y_wit.add(y_1);

					aan_zet=1;

					return "Zet succesvol gedaan, zwart aan zet";

				}

				if(Math.abs(x_1-x_0)==2&&(y_1-y_0)==2){ //pion pakken

					if(this.zoekPosZwart(x_1-(x_1-x_0)/2,(y_1-1))!=-1){

						x_wit.remove(a);

						y_wit.remove(a);

						x_wit.add(x_1);

						y_wit.add(y_1);

						int b=this.zoekPosZwart(x_1-(x_1-x_0)/2,y_1-1);

						x_zwart.remove(b);

						y_zwart.remove(b);

						aan_zet=1;

						return "Zet succesvol gedaan, zwart aan zet";

					}

					return "Ongeldige zet";

				}

				return "Ongeldige zet";

			}

			if (aan_zet==1){

				int a=this.zoekPosZwart(x_0, y_0);

				if (a==-1)return "Ongeldige zet";

				if (Math.abs(x_1-x_0)==1&&(y_1-y_0)==-1){ //gewone zet

					if (this.zoekPosZwart(x_1, y_1)!=-1||this.zoekPosWit(x_1, y_1)!=-1)return "Ongeldige zet";

					x_zwart.remove(a);

					y_zwart.remove(a);

					x_zwart.add(x_1);

					y_zwart.add(y_1);

					aan_zet=0;

					return "Zet succesvol gedaan, wit aan zet";

				}

				if(Math.abs(x_1-x_0)==2&&(y_1-y_0)==-2){ //pion pakken

					if(this.zoekPosWit(x_1-(x_1-x_0)/2,(y_1+1))!=-1){

						x_zwart.remove(a);

						y_zwart.remove(a);

						x_zwart.add(x_1);

						y_zwart.add(y_1);

						int b=this.zoekPosWit(x_1-(x_1-x_0)/2,y_1+1);

						x_wit.remove(b);

						y_wit.remove(b);

						aan_zet=0;

						return "Zet succesvol gedaan, wit aan zet";

					}

					return "Ongeldige zet";

				}

				return "ongeldige zet";

			}

			return "Fout in doeZet";

		}

		private int zoekPosWit(int x,int y){

			for(int i=0;i<x_wit.size();i++){

				if (x==x_wit.get(i)&&y==y_wit.get(i))return i;

			}

			return -1;

		}

		private int zoekPosZwart(int x,int y){

			for(int i=0;i<x_zwart.size();i++){

				if (x==x_zwart.get(i)&&y==y_zwart.get(i))return i;

			}

			return -1;

		}

	}


	public int bepaalHok(int x){

		if (x>=0&&x<500){

			return (int)(x/50);

		}

		return -1;

	}

		

	public void mouseClicked(MouseEvent evt) {

		

	}

	public void mouseEntered(MouseEvent evt) {

		

	}

	public void mouseExited(MouseEvent evt) {

		

	}

	public void mousePressed(MouseEvent evt) {

		x_in=bepaalHok(evt.getX());

		y_in=bepaalHok(evt.getY());

	}

	public void mouseReleased(MouseEvent evt) {

		x_uit=bepaalHok(evt.getX());

		y_uit=bepaalHok(evt.getY());

		if(x_in==-1||y_in==-1||x_uit==-1||y_uit==-1){

			s="Ongeldige zet";

		}

		else s=bord.doeZet(x_in, y_in, x_uit, y_uit);

		repaint();

	}

	

}



#2
tate

tate

    Learning Programmer

  • Members
  • PipPipPip
  • 90 posts
If eclipse is compiling and running the applet just fine, you should be able to run it in a browser just fine using the .class file with something like this:
<P><APPLET code="Dammen.class" WIDTH="500" HEIGHT="600">
</APPLET></P>
If you exported it as a .jar file from eclipse you should be able to run it in a browser with something like this:
<P><APPLET code="Dammen" WIDTH="500" HEIGHT="600" ARCHIVE="example.jar">
</APPLET></P>
look at the simple examples on this web page if you have more problems: Java applet - Wikipedia, the free encyclopedia
twas brillig

#3
Stevenvdr

Stevenvdr

    Newbie

  • Members
  • Pip
  • 3 posts
Ok, I did as you said, and created a jar file and a html page.

Now the html page shows a window of 500x600, but it gives the error that the class Dammen could not be found.

My jar and html file are in the same folder.



load: class Dammen.class not found.

java.lang.ClassNotFoundException: Dammen.class

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\test.jar\Dammen\class.class (Het systeem kan het opgegeven pad niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun_net.www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen.class

load: class Dammen not found.

java.lang.ClassNotFoundException: Dammen

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\Dammen.class (Het systeem kan het opgegeven bestand niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun_net.www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen

load: class Dammen not found.

java.lang.ClassNotFoundException: Dammen

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\Dammen.class (Het systeem kan het opgegeven bestand niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen

load: class Dammen not found.

java.lang.ClassNotFoundException: Dammen

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\Dammen.class (Het systeem kan het opgegeven bestand niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net_www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun.net_www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen

load: class Dammen.class not found.

java.lang.ClassNotFoundException: Dammen.class

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\Dammen\class.class (Het systeem kan het opgegeven pad niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen.class

load: class Dammen not found.

java.lang.ClassNotFoundException: Dammen

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\Dammen.class (Het systeem kan het opgegeven bestand niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen

load: class Dammen not found.

java.lang.ClassNotFoundException: Dammen

	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at java.lang.ClassLoader.loadClass(Unknown Source)

	at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)

	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

	at java.lang.Thread.run(Unknown Source)

Caused by: java.io.FileNotFoundException: C:\Users\Steven\My documents\Dammen.class (Het systeem kan het opgegeven bestand niet vinden)

	at java.io.FileInputStream.open(Native Method)

	at java.io.FileInputStream.<init>(Unknown Source)

	at java.io.FileInputStream.<init>(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.connect(Unknown Source)

	at sun.net.www_protocol.file.FileURLConnection.getInputStream(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

	at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

	at java.security.AccessController.doPrivileged(Native Method)

	... 7 more

Exception: java.lang.ClassNotFoundException: Dammen