我的小程序代码出了什么问题



我正在Youtube上学习小程序教程。我的代码看起来和教程中的完全一样,但背景没有变为粉红色,Eclipse告诉我implements MouseListenerg2.draw(line);中有错误。我做错了什么?点击这里观看视频,这是我的代码:

package applets1;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import javax.swing.JApplet;
public class clean extends JApplet implements MouseListener{
public void start(){

}
public void init(){
    setBackground(Color.pink);
    addMouseListener(this);
}
public void paint(Graphics g){
    Graphics g2D = (Graphics2D) g;
    g.drawString("WAZZUP", 100, 90);
    g.drawRect(100, 100, 400, 400);
    Point2D.Double topLeft = new Point2D.Double(0.0, 25.0);
    Point2D.Double topRight = new Point2D.Double(100.0, 25.0);
    Line2D.Double line = new Line2D.Double(topLeft, topRight);
    g2D.draw(line);
}
}

编辑:g2D.draw(line);的错误显示为The method draw(Line2D.Double) is undefined for the type Graphics。我将g2D.drawLine更改为g2D.draw我还修复了implements的拼写错误。背景仍然不是粉红色,尽管没有错误,其他一切都正常。我能做些什么来修复粉红色和g2D.draw

您有一个印刷错误。implements未实现:

public class clean extends JApplet implements MouseListener{


此外,您已经用错误的类型(GraphicsGraphics2D)声明了g2D。换句话说您需要使用的Graphics g2D = (Graphics2D) g;Graphics2D g2D = (Graphics2D) g;

一旦进行了上述更改,就可以使用各种2D类作为参数来调用g2D.draw()方法。


此外,您已经重写了paint()方法,但没有包含对super.paint()的调用——这应该是paint()方法中的第一行。完成此操作后,背景颜色应正确呈现(因为它由基类JApplet处理)

相关内容

  • 没有找到相关文章

最新更新