Reputation: 125
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
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