我已经获得了实现保存操作的代码,但是当我输入代码时出现错误:
类saveAction的非法修饰符;只允许抽象或最终。
代码:
protected void initialiseActions(){
// TODO: initalise your actions here
public class SaveAction extends AbstractAction{
public SaveAction(String text, ImageIcon icon, String desc, Integer mnemonic){
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
putValue(MNEMONIC_KEY, mnemonic);
}
public void actionPerformed(ActionEvent e){
// Just print out a message for now.
System.out.println("Save");
}
}
Action saveAction = new SaveAction("Save", new ImageIcon("img/save.png"), "Save the image",
KeyEvent.VK_S);
}
任何帮助将不胜感激。感谢
答案 0 :(得分:2)
您无法声明public
本地课程。删除public
标识符。
protected void initialiseActions(){
// TODO: initalise your actions here
class SaveAction extends AbstractAction{
public SaveAction(String text, ImageIcon icon, String desc, Integer mnemonic){
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
putValue(MNEMONIC_KEY, mnemonic);
}
public void actionPerformed(ActionEvent e){
// Just print out a message for now.
System.out.println("Save");
}
}
Action saveAction = new SaveAction("Save", new ImageIcon("img/save.png"), "Save the image",
KeyEvent.VK_S);
}
中指定
如果本地类声明包含any,则是编译时错误 访问修饰符public,protected或private(§6.6),或者 modifier static(§8.1.1)。
答案 1 :(得分:0)
您在方法中声明了一个类,这严重限制了类的有用性。要么将它移动到自己的文件中,要么只是在你在这里讨论的类中的任何其他方法之外,使用它会更加方便。