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射击激光的太空飞船中的一个。问题是什么,为什么不编译?我真的迷路了。谢谢!
答案 0 :(得分:2)
我重新格式化了您的代码,以便更容易理解。如果您使用Eclipse或Netbeans等集成开发环境(IDE),那将对您有所帮助。
您必须在类中定义这些字段,并在构造函数或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();
}
}
}
}
答案 1 :(得分:1)
什么是levelMenu?你使用它而不先声明它。