gpt4 book ai didi

java - 开始 :applet not initialized when trying to open a frame in an applet

转载 作者:行者123 更新时间:2023-11-30 03:59:18 26 4
gpt4 key购买 nike

我在 Herbert Schildt 的《java 2》一书中遇到了一段代码。这是代码。

import java.applet.Applet;

导入 java.awt.;导入 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);
}
}

根据这本书,它应该启动一个小程序,该小程序应该启动一个框架。但是当小程序在状态栏中启动时,它会显示“启动:小程序未初始化”为什么会这样?

我确实创建了小程序,但没有像这样将我的派生小程序类声明为公共(public)

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);
}

}

最佳答案

如果您查看小程序控制台,您应该会看到错误的其余部分

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

即将类声明为 public

public class MyApplet extends Applet {

关于java - 开始 :applet not initialized when trying to open a frame in an applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22335680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com