Почему моя программа на Java не распознает статическую переменную в определенном классе?

Я делаю тестовый код для системы инвентаризации (позже я планирую работать над игрой), используя компоненты Javax. Я делал класс под названием «Курсор», который расширяет «ItemStack», чтобы вы могли «подбирать» предметы, на которые вы нажимаете на экране инвентаря. У меня проблема в том, что я использую статическую переменную 'cur' для хранения экземпляра этого класса, но каждый раз, когда я пытаюсь скомпилировать, я получаю следующую ошибку:

.\john\window\component\ItemSlotPanel.java:13: error: cannot find symbol
    itemStack.swapWith(Cursor.cur);
                             ^
  symbol:   variable cur
  location: class Cursor
.\john\window\component\ItemSlotPanel.java:25: error: package itemstack.item doe
s not exist
      g.drawImage(itemstack.item.icon.getScaledInstance(this.getWidth(),this.get
Height(),Image.SCALE_SMOOTH),0,0,null);
                                ^
.\john\window\component\InfiniteItemSlotPanel.java:15: error: cannot find symbol

    if (Cursor.cur.isEmpty()) {
              ^
  symbol:   variable cur
  location: class Cursor
.\john\window\component\InfiniteItemSlotPanel.java:16: error: cannot find symbol

      this.itemStack.copyTo(Cursor.cur);
                                  ^
  symbol:   variable cur
  location: class Cursor
.\john\window\component\InfiniteItemSlotPanel.java:17: error: cannot find symbol

    } else if (Cursor.cur.item.id == this.itemStack.item.id) {
                     ^
  symbol:   variable cur
  location: class Cursor
.\john\window\component\InfiniteItemSlotPanel.java:18: error: cannot find symbol

      Cursor.cur.count += this.itemStack.count;
            ^
  symbol:   variable cur
  location: class Cursor
6 errors

что означает, что переменная не существует

Я пытался найти подобные проблемы на этом сайте (а также через Google), но большая часть того, что я нашел, не имеет значения. В StackOverflow я нашел такие вопросы, как Что такое отражение и почему оно полезно?, Функции байт-кода, недоступные в языке Java, и Преимущества прототипного наследования по сравнению с классическим.

Рассматриваемый класс:

package john;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import john.item.*;
import john.window.*;
import john.window.component.*;

public class Cursor extends ItemStack implements MouseListener,MouseMotionListener {
  public static Cursor cur = new Cursor();

  public Cursor() {
    super(null);
  }

  public static Cursor getCursor() {
    return cur;
  }

  public void mouseClicked(MouseEvent e) {
    Object source = e.getSource();
    if (source instanceof InfiniteItemSlotPanel) {
      ((InfiniteItemSlotPanel) source).mouseClicked(e);
    } else if (source instanceof ItemSlotPanel) {
      ((ItemSlotPanel) source).mouseClicked(e);
    }
  }
  public void mouseEntered(MouseEvent e) {

  }
  public void mouseExited(MouseEvent e) {

  }
  public void mousePressed(MouseEvent e) {

  }
  public void mouseReleased(MouseEvent e) {

  }
  public void mouseDragged(MouseEvent e) {

  }
  public void mouseMoved(MouseEvent e) {

  }

  public Cursor addListenerTo(Component x) {
    x.addMouseListener(this);
    x.addMouseMotionListener(this);
    return this;
  }
}

ItemStack.java:

package john.item;

public class ItemStack {
  public Item item;
  public int count;

  public ItemStack(Item item) {
    this(item,1);
  }
  public ItemStack(Item item,int count) {
    this.item = item;
    this.count = count;
  }

  public boolean isEmpty() {
    return this.item == null && this.count == 0;
  }
  public void check() {
    if (this.count < 0) {this.count = 0;this.item = null;}
    if (this.item == null && this.count > 0) this.count = 0;
    if (this.count == 0 && this.item != null) this.item = null;
  }
  public void dispose() {
    this.item = null;
    this.count = 0;
  }
  public boolean canInsert(ItemStack stack) {
    return this.item.id == stack.item.id;
  }
  public void insert(ItemStack stack) {
    if (!canInsert(stack)) return;
    this.count += stack.count;
  }
  public void insertInto(ItemStack dest) {
    dest.insert(this);
  }
  public void copyTo(ItemStack dest) {
    dest.item = this.item;
    dest.count = this.count;
  }
}

Если вам нужно больше кода, чем это, не стесняйтесь спрашивать, я сделаю все возможное, чтобы сжать его, но в настоящее время он состоит из 14 взаимосвязанных классов, поэтому я не знаю, насколько хорошо это будет работать.

Я не уверен, насколько хорошо этот вопрос будет воспринят, но я не знаю, куда еще обратиться. Приношу извинения, если трачу время, но я постарался, чтобы вопрос соответствовал рекомендациям StackOverflow. Приветствуется любой ответ (даже отрицательный). Мне просто очень нужно понять, почему это происходит. В прошлый раз у меня была проблема, похожая на эту, мне пришлось все удалить и переписать, так что любая информация будет отличной! Кроме того, извините за мой плохой английский (я родился и вырос в Америке, но я уже не так часто пишу подобные вещи).


person JHNUXER    schedule 17.08.2017    source источник
comment
Как вы импортируете Cursor в класс ItemStack?   -  person Kon    schedule 18.08.2017
comment
Вы уверены, что импортировали правильный класс Cursor?   -  person takendarkk    schedule 18.08.2017
comment
Ах, нет, я так не думаю, теперь, когда вы упомянули об этом. Я попробую это. (Думал, что это будет другая ошибка, но, возможно, нет)   -  person JHNUXER    schedule 18.08.2017
comment
@JHNUXER Убедитесь, что вы импортируете пакет из правильного пакета, не из пакета java.awt.*, который также имеет класс Cursor.   -  person Kon    schedule 18.08.2017
comment
бесполезно, та же ошибка. Спасибо за ваш комментарий.   -  person JHNUXER    schedule 18.08.2017
comment
@Кон Спасибо! Я понятия не имел, что существует конфликтующий класс. Я использовал import java.awt.* во многих своих классах, так что вполне может быть проблема. Еще раз спасибо! :)   -  person JHNUXER    schedule 18.08.2017
comment
@Kon Спасибо, это решило проблему! Мне просто нужно подать заявку на другие классы сейчас. Еще раз спасибо всем за вашу помощь!   -  person JHNUXER    schedule 18.08.2017