i know java, ive had two classes in it but ive only written it in notepad.. lol

so here im trying to make an applet in netbeans and implement an action listener.. why do i get an error at my first line here:

import java.awt.event.*;
import java.awt.*;

public class applet1 extends java.applet.Applet implements java.awt.event.ActionListener

i.e this line:

public class applet1 extends java.applet.Applet implements java.awt.event.ActionListener

heres the error message i recieve:

applet1 is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener

what can i do to fix this? is netbeans doing something for me to where i dont have to write this? or do i have to use a frame?

thanks

Did you override that method? If not you need to add this method in your class;

public void actionPerformed(ActionEvent ae)
{
}

hmm i will add that! i was just trying to get it to build but if it wont build without that class then ill add it!

also why do i have to write this like this:

extends java.applet.Applet

why not like this:

extends Applet

is this something new or just something netbeans does?

Import java.applet.*;
and that should allow it. Since you don't have an import statement you're having to use the fully qualified name. The same goes for the actionListener. If you don't want to continously use the fully qualified name, then:
import java.awt.event.*;

By the way, if you want to just test the app and not worry about adding that method, just take off the implements.... statement.

thanks for the help :)

i decided to start from the top with a hello world. well i cant get it to open the applet, ill run it and it will just build it.. heres the code, am i doing something small wrong?

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

public class applet1 extends Applet
{
    public static void main(String args[])
    {
    System.out.println("Hello World");
    }
    
    public void init() 
    {
     
    }
    
    // TODO overwrite start(), stop() and destroy() methods
}

also im wondering if i should be using an applet.. are frames and applets the same? i just want to make an application thats readily available anywhere where you have internet access

thanks for the help :)

i decided to start from the top with a hello world. well i cant get it to open the applet, ill run it and it will just build it.. heres the code, am i doing something small wrong?

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

public class applet1 extends Applet
{
    public static void main(String args[])
    {
    System.out.println("Hello World");
    }
    
    public void init() 
    {
     
    }
    
    // TODO overwrite start(), stop() and destroy() methods
}

also im wondering if i should be using an applet.. are frames and applets the same? i just want to make an application thats readily available anywhere where you have internet access

First of all, you DON'T have a main method with an applet you use the init() method(which you have). Second, applets are funny about calls to the command line, I doubt you'll get that to work. Instead make it draw the Hello world on the applet. like this:

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

public class applet1 extends Applet
{
    public void init() 
    {
     
    }
    public void paint(Graphics g)
   {
         g.drawString("Hello World",0,0);
   }
    // TODO overwrite start(), stop() and destroy() methods
}

See if that works.

For your last question, I would go with an applet. You won't be able to just run a framed application anywhere like you can an applet. ALL newer browsers support java and will show up applets.

it will only pop up the applet if i right click the actual applet1.java icon in the projects list at the left but it wont display the hello world!.. anywhere else like in run/run main project, a pop up says "no main classes found"


thanks :)

oops im sorry, its late!

haha yea so i had the x and y values still at 0,0 so it wasnt showing up..

thanks again!

This article has been dead for over six months. Start a new discussion instead.