user3085866
user3085866

Reputation: 125

Start:applet not initialized when trying to open a frame in an applet

I ran across a code in the book java 2 by Herbert Schildt .Here is the code .

import java.applet.Applet;

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

public class SampleFrame extends Frame
{
    public SampleFrame(String title)
    {
        super(title);
        MyWindowAdapter wAdapter = new MyWindowAdapter(this);
        addWindowListener(wAdapter);
    }
    public void paint(Graphics g)
    {
        g.drawString("this is in the frame window", 10, 40);
    }

}
class MyWindowAdapter extends WindowAdapter
{
    SampleFrame sampleFrame;
    public MyWindowAdapter(SampleFrame sampleFrame)
    {
        this.sampleFrame = sampleFrame;
    }
    public void WindowClosing(WindowEvent we)
    {
        sampleFrame.setVisible(false);
    }
}
class MyApplet extends Applet
{
    Frame f;
    public void init()
    {
        f = new SampleFrame("a frame window");
        f.setSize(250, 250);
        f.setVisible(true);
    }
    public void start()
    {
        f.setVisible(true);
    }
    public void stop()
    {
        f.setVisible(false);
    }
    public void paint(Graphics g)
    {
        g.drawString("this is an applet window", 10, 20);
    }
}

according to the book it should start an applet which should start a frame . But when the applet starts in the status bar it say "start:applet not initilized" why so?

I did create applets without declaring my derived applet class as public like this

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;


class MouseEvents extends Applet implements MouseListener,
        MouseMotionListener
{
    String msg = "";
    int mouseX = 0 ,mouseY = 0 ,count=0;
    Boolean tPU ;
    private Point myPoint;

    public MouseEvents()
    {
        myPoint = new 
                Point();

    }

    public void init()
    {
        addMouseListener(this);
        addMouseMotionListener(this);
    }
    @Override
    public void mouseDragged(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        mouseX = arg0.getX();
        mouseY = arg0.getY();
        msg = "*";
        myPoint = arg0.getPoint();
        tPU = arg0.isPopupTrigger();
        count = arg0.getClickCount();
        arg0.translatePoint(100, 100);
        myPoint = arg0.getPoint();

        showStatus("dragging mouse at " + arg0.getX() + ", " +arg0.getY());
        showStatus("popUps ?"+tPU);
        showStatus("dragging mouse at " + myPoint.x + ", " +myPoint.y);
        showStatus("dragging mouse at " + myPoint.x + ", " +myPoint.y);
        showStatus("dragging mouse at " + myPoint.x + ", " +myPoint.y);

        repaint();
    }

    @Override
    public void mouseMoved(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        showStatus("moving mouse at " + arg0.getX() + ", " +arg0.getY());
    }

    @Override
    public void mouseClicked(MouseEvent e)
    {
        // TODO Auto-generated method stub
        mouseX=0;
        mouseY=10;
        msg="mouse clicked";
        repaint();
    }

    @Override
    public void mouseEntered(MouseEvent e)
    {
        // TODO Auto-generated method stub
        mouseX=0;
        mouseY=10;
        msg="mouse entered";
        repaint();
    }

    @Override
    public void mouseExited(MouseEvent e)
    {
        // TODO Auto-generated method stub
        mouseX=0;
        mouseY=20;
        msg="mouse exited";
        repaint();
    }

    @Override
    public void mousePressed(MouseEvent e)
    {
        // TODO Auto-generated method stub
        mouseX = e.getX();
        mouseY = e.getY();
        msg = "mouse pressed down";
        repaint();
    }

    @Override
    public void mouseReleased(MouseEvent e)
    {
        // TODO Auto-generated method stub
        mouseX = e.getX();
        mouseY = e.getY();
        msg = "mouse released up";
        repaint();
    }
    public void paint(Graphics g)
    {
        g.drawString(msg, mouseX, mouseY);
    }

}

Upvotes: 1

Views: 204

Answers (1)

Reimeus
Reimeus

Reputation: 159874

If you look in the applet console you should see the rest of the error

MyApplet.class is not public or has no public constructor.

i.e. declare the class as public

public class MyApplet extends Applet {

Upvotes: 2

Related Questions