我在Java程序中遇到问题,当我尝试创建一个对象数组时。 线程“main”中的异常java.lang.NullPointerException错误是我得到的错误。 我真的可以使用一些帮助,因为我在这个地方被困了几个小时......

谢谢你的帮助 !

public class Placement extends JFrame  {
    private JPanel placementPanel;

    private JFrame gameEngineFrame;




    private Ship[] boardShips; //Array of ships objects to save ships
    private JButton[] shipButton; //Array of buttons for the ships
    private JLabel selectShipLabel;
    private Ship shipSelected;
    private Ship highlightedShip;





        JPanel shipSelect = new JPanel();
        shipSelect.setLayout(new GridLayout(14, 1));
        shipSelect.setBackground(Color.getHSBColor(0.0F, 0.0F, 0.75F)); //Setting background color. Hue, saturation, brightness format. (HSB)
        shipSelect.setBounds(320, 20, 200, 300); //Setting postiion of the panel inside the JPanel and setting width & height
        this.placementPanel.add(shipSelect);     



     makeShips(shipSelect);

  private void makeShips(JPanel inPanel)
  {
      System.out.println("make ships testing");
    this.shipButton[0] = new JButton("Aircraft Carrier");
    boardShips[0] = new Ship(5, "Aircraft Carrier", 0);

    this.shipButton[1] = new JButton("Battleship");
    boardShips[1] = new Ship(4, "Battleship", 1);

    this.shipButton[2] = new JButton("Cruiser");
  boardShips[2] = new Ship(3, "Cruiser", 2);

    this.shipButton[3] = new JButton("Destroyer 1");
    boardShips[3] = new Ship(2, "Destroyer", 3);


    this.shipButton[4] = new JButton("Submarine 1");
    boardShips[4] = new Ship(1, "Submarine", 4);

  System.out.println("make ships testing22");

    for (int i = 0; i < 5; i++)
    {
      this.shipButton[i].setName("" + i);
     this.shipButton[i].addActionListener((ActionListener) this);
      inPanel.add(this.shipButton[i]);
      this.boardShips[i].makeIcons();
    }

  }

AT SHIP CLASS:

  public Ship(int tempSize, String tempName, int tempButton)
  {
    this();
    this.size = tempSize;
    this.name = tempName;
    this.button = tempButton;
   // this.shipCoords = new int[this.size][2];
    //this.shipIcons = new ImageIcon[2][this.size];
    //this.shipSunkIcons = new ImageIcon[2][this.size];
  }

#1楼 票数:2 已采纳

你有这个private JButton[] shipButton; 这是Jbutton的数组没有在任何地方初始化,你正试图这样做this.shipButton[0] = new JButton("Aircraft Carrier"); causin NPE。

我看到你有5个shipButton数组

  JButton[] shipButton=new JButton[5];

编辑

你不能从类体调用方法。 你只能在那里定义方法。 要调用方法,您必须使用构造函数或其他方法。

  ask by Manos translate from so

未解决问题?本站智能推荐:

4回复

错误:线程“ main”中的异常java.lang.NullPointerException

我在代码中收到此错误。 这是我的代码: 这就是结果。 错误:输入模型:car.main(car.java:10)的线程“ main”中的异常java.lang.NullPointerException
4回复

Java数组上的线程“ main”中的异常java.lang.NullPointerException

我从代码中收到此错误: MainClass.main(MainClass.java:20)处的线程“ main”中的异常java.lang.NullPointerException 任何人都可以识别该错误,我认为这与初始化数组有关吗? MainClass.java
1回复

线程“ main”中的异常java.lang.NullPointerException [java]

我有任务要做,我有一点问题,而且我遇到了错误。 我不知道如何修复它: test.main(test.java:29)处的线程“ main”中的异常java.lang.NullPointerException 这是我的代码:
1回复

如何修复“ main”线程java.lang.NullPointerException中的异常? [重复]

这个问题已经在这里有了答案: 什么是NullPointerException,我该如何解决? 12个答案 我是Java编程的初学者。 我知道有关此特定消息错误的主题数量,但我无法解决此问题。 在下面的代码中,该错误指示在第23行中。 我知道问题似乎与空引用有
5回复

线程“ main”中的异常java.lang.NullPointerException [重复]

这个问题已经在这里有了答案: 什么是NullPointerException,我该如何解决? 12个答案 嗨,我是Java的新手,遇到了硬件问题,我们被要求构建一个Class RandomBag-一个通用的袋子容器,该容器允许元素的“ RandomPick”。
1回复

线程“main”中的异常java.lang.NullPointerException [maxMind]

我使用我的主类来读取逐行保存ip地址的txt,并希望将它们保存到对象中并保存到数组中。 我测试我的代码,我得到运行时错误。 140.118.175.208 longtitude 121.524994 latitude 25.0392线程“main”中的异常java.lang.NullPo
1回复

Java :(错误)线程“ main”中的异常,位于Main.main上的java.lang.NullPointerException(Main.java:14)[重复]

这个问题已经在这里有了答案: 什么是NullPointerException,我该如何解决? 12个答案 我意识到这是一个常见错误,因此我尝试使用其他有关此确切错误的问题来解决它,但是我无法提出解决方案。 我制作了10辆汽车的阵列,并设置了每辆汽车的品牌,颜色和
4回复

线程“ main”中的异常java.lang.NullPointerException(JDBC)[关闭]

gui.CataloguePanel。(CataloguePanel.java)处的线程“ main”中的异常java.lang.NullPointerException 我正在尝试在CataloguePanel初始化BookQuery对象并调用getBookList() Ca