Bluej GraphicsRunner Error



我在AP计算机科学的一个bluej实验室遇到了一点麻烦。

我应该用ASCII字符制作一面美国国旗
我有一个老师给我们的骨架代码,但我们应该填写它。我设法制作了这个程序,但我无法测试,因为跑步者(给我们的是完全填写好的)正在抗议我的getContentPane().add(new StarsAndStripesLab());上面写着:

No suitable method found for add(StarsAndStripesLab)
method java.awt.Container.add(java.awt.Component) is not applicable (actual argument StarsAndStripesLab cannot be converted to java.awp.Component by method invocation conversion)
method java.awp.Component.add(java.awp.PopupMenu) is not applicable (actual argument StarsAndStripesLab cannot be converted to java.awt.PopupMenu by method invocation conversion)

这是我的跑步者和实验室的全部代码:

实验室:

import java.awt.Graphics;
import java.awt.Color;
import java.awt.Canvas;
import java.awt.Font;
import static java.lang.System.*;
public class StarsAndStripesLab
{
   public StarsAndStripesLab()
   {
       out.println("StarsAndStripesLab");
       printTwoBlankLines();
   }
   public void printTwentyStars()
   {
      out.println("* * * * * *");
      out.println(" * * * * * ");
      out.println("* * * * * *");
      out.println(" * * * * * ");
      out.println("* * * * * *");
      out.println(" * * * * * ");
      out.println("* * * * * *");
      out.println(" * * * * * ");
      out.println("* * * * * *");
   }
   public void printTwentyDashes()
   {
       out.println("--------------------");
   }
   public void printTwoBlankLines()
   {
       out.println("nn");
   }
   public void printASmallBox()
   {    
       out.println("|--------------|");
       out.println("|              |");
       out.println("|              |");
       out.println("|              |");
       out.println("|--------------|");
   }
   public void printABigBox()
   {    
       out.println("|-----------------------------|");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|                             |");
       out.println("|-----------------------------|");
   }   
}

这是跑步者(我在给我带来麻烦的地方加了星号,因为我无法突出显示):

import javax.swing.JFrame;

public class StarsAndStripesLabRunner extends JFrame
{
 private static final int WIDTH = 800;
 private static final int HEIGHT = 600;
    public StarsAndStripesLabRunner()
    {
        super("Keelen Berkenkotter");
        setSize(WIDTH,HEIGHT);
        ***getContentPane().add(new StarsAndStripesLab());***
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main( String args[] )
    {
        StarsAndStripesLabRunner stars = new StarsAndStripesLabRunner();
    }
}

感谢您的帮助。提前谢谢。

-Keelen Berkenkotter

我认为您要么使用了错误的运行程序代码,要么误解了任务。您的代码是在终端上打印字符,但运行程序代码是一个设置窗口的图形程序。

您要么必须使用一个调用所有方法的runner代码,例如:

public class StarsAndStripesLabRunner {
    public static void main( String args[] )
    {
        StarsAndStripesLab stars = new StarsAndStripesLab();
        stars.printTwentyStars(); // and all the other methods in correct order
    }
}

或者,您必须编写一个以图形方式显示标志的程序。但我认为是前者,因为你说你必须使用ASCII字符。

相关内容

  • 没有找到相关文章

最新更新