小程序未初始化

时间:2013-05-08 17:30:44

标签: java eclipse applet init

我正在尝试在Eclipse上创建一个Java applet,它将打印一组随机长度的条形图,然后按长度排序并打印新数组。但是,当我运行我的程序时,它说我的applet没有初始化。我的代码如下。谁能帮我?非常感谢你!

import java.awt.*; 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.applet.Applet;

public abstract class Proj1_1 extends Applet implements ActionListener
{
      private static int[] numbers = new int[10]; 

    public void init() 
      {
      Button startButton = new Button("Sort");
      startButton.addActionListener(this);
      add(startButton);

      setSize(300,300);
      setVisible(true);
      }

      public void paint(Graphics screen)
      {
          numbers = Proj1_1.myRandom(numbers);

          int i;

            for (i = 0; i <= numbers.length - 1; i++)
            {   
                screen.fillRect(20, 20 + 10 * i, numbers[i] + 30, 6);
            } 
      }

      public static  int[] myRandom(int[] numbers)
      {
        Random random = new Random();
        for(int i = 0; i < numbers.length; i++)
            numbers[i] = random.nextInt(20);
        return numbers;
      }

       public static int[] selectionSort (int[] numbers)
      {
          MySort sort = new MySort();
          int[] numbers2 = sort.selectionSort(numbers);
          return numbers2;
      }

      public void actionPerformed(ActionEvent e)
      { 
          int[] numbers2 = Proj1_1.selectionSort(numbers);

           int i;

          for (i = 0; i <= numbers2.length - 1; i++)
           {    
            Graphics screen = null;
            screen.fillRect(20, 20 + 10 * i, numbers2[i] + 30, 6);
          }
      }
}


public class MySort {

    int [] numbers;
    public MySort()
    {

    }

    public MySort(int[] numbers)
     {
        selectionSort(numbers);
    }

    public int[] selectionSort (int[] numbers)
    {
        for(int i=0; i<numbers.length; i++)
                {
                    for(int j=0; j<numbers.length; j++)
                    {
                        if(numbers[i] < numbers[j])
                        {
                            int temp = numbers[i];
                            numbers[i] = numbers[j];
                            numbers[j] = temp;
                        }
                    }
                }
        return numbers;
      }

}

2 个答案:

答案 0 :(得分:1)

您宣布自己的班级为abstract,因此无法实例化:

public abstract class Proj1_1 extends Applet

删除abstract关键字

答案 1 :(得分:0)

如果我们删除抽象它会显示错误:我们定义的类不是抽象的,所以我们不能覆盖liste中的抽象方法