我想我的_holder和/或_gooseAction是null....下面是实例化_holder和_gooseAction的相关代码/类:
Goose.java
public class Goose {
//Goose class
private ActionHolder _holder;
private gooseAction _gooseAction;
public Goose (JPanel container, GooseAction action, ActionHolder holder) {
super(container);
_holder = holder;
_gooseAction = _holder.getAction();
_gooseAction = action;
}
public void react() {
_gooseAction.stop();
_holder.getAction();
_gooseAction = _holder.getAction();
_gooseAction.setObjective(this);
_gooseAction.start();
}ControlPanel.java
public class ControlPanel {
//top level class
public ControlPanel() {
super();
_holder = new ActionHolder(_moveAction);
_drawingPanel = new DrawingPanel(_holder);
_gooseAction = new GooseAction();
_doNothing = new StopBehavior();
_kingGoose = new FollowBehavior(_kingGoose);
}
private GooseAction _gooseAction;
private ActionHolder _holder;
public class ActionHolder {
private GooseAction _GooseAction;
public ActionHolder(GooseAction Action) {
_gooseAction = Action;
}
public void setAction(GooseAction GooseAction) {
_gooseAction = GooseAction;
}
public GooseAction getAction() {
return _gooseAction.copy();
}
}
public class ActionButton extends JButton {
public ActionButton(String string, boolean b, GooseAction action, ActionHolder holder) {
super(string, b);
_holder = holder;
_gooseAction = action;
}
}
private class ActionListener implements ChangeListener {
public ActionListener(GooseAction action) {
}
public void stateChanged(ChangeEvent e) {
_holder.setAction(_gooseAction);
}
}发布于 2011-11-04 07:09:07
if(_holder == null) System.out.println("_holder is null");
if(_gooseAction == null) System.out.println("_gooseAction is null");https://stackoverflow.com/questions/8003049
复制相似问题