-8
import java.lang.Object;
import java.awt.event.*;
import java.lang.*;

public class LevelSelectionMouseListner extends MouseAdapter
{
  public void mouseClicked(MouseEvent event)
  {
    int levelNum = -1;
    boolean standard = true;
    if(event.getSource() == levelMenu.getProvidedList())
{
  levelMenu.clearCustomList();
  levelNum = levelMenu.getProvidedLevelNum();
}
else if (event.getSource()==levelMenu.getCustomList())
{
  levelMenu.clearProvidedList();
  levelNum=levelMenu.getCustomLevelNum();
  standard = false;
}

if(event.getClickCount()==2)
{
  if (levelNum != -1)
  {
    changeContent(PLAY_PANEL, "startPlay");
    playMgr.initLevelForPlay(standard, levelNum);
    playPanel.startTimer();
  }
}
}
}

这段代码给了我多个错误,而这个类是我用来创建一个用 Java 发射激光的宇宙飞船的 3 个类之一。有什么问题,为什么不能编译?我真的迷路了。谢谢!

4

2 回答 2

2

我重新格式化了您的代码以使其更易于理解。如果您使用 Eclipse 或 Netbeans 之类的集成开发环境 (IDE),这将对您有所帮助。

  • levelMenu 未定义。
  • PLAY_PANEL 未定义。
  • playMgr 未定义。
  • playPanel 未定义。

您必须在类中定义这些字段,并在构造函数中或通过 setter 方法初始化这些字段。

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class LevelSelectionMouseListener extends MouseAdapter {

    @Override
    public void mouseClicked(MouseEvent event) {
        int levelNum = -1;
        boolean standard = true;
        if (event.getSource() == levelMenu.getProvidedList()) {
            levelMenu.clearCustomList();
            levelNum = levelMenu.getProvidedLevelNum();
        } else if (event.getSource() == levelMenu.getCustomList()) {
            levelMenu.clearProvidedList();
            levelNum = levelMenu.getCustomLevelNum();
            standard = false;
        }

        if (event.getClickCount() == 2) {
            if (levelNum != -1) {
                changeContent(PLAY_PANEL, "startPlay");
                playMgr.initLevelForPlay(standard, levelNum);
                playPanel.startTimer();
            }
        }
    }
}
于 2013-05-30T13:25:18.500 回答
1

什么是 levelMenu ?您无需先声明即可使用它。

于 2013-05-30T13:23:28.560 回答