黑马程序员技术交流社区

标题: 不能编译,请指点一下 [打印本页]

作者: 姚伟涛    时间: 2012-4-18 16:27
标题: 不能编译,请指点一下
  1. import java.awt.*;
  2. public class FramePanel extends Frame{
  3. public FramePanel(String str){
  4. super(str);
  5. }  
  6. public static void main(String args[]){
  7. FramePanel fr=new FramePanel("Frame with Panel");
  8. Panel pan=new Panel();
  9. fr.setSize(300,200);
  10. fr.setBackground(Color.blue);
  11. fr.setLayout(null);
  12. pan.setSize(100,100);
  13. pan.setBackground(color.yellow);
  14. fr.add(pan);
  15. fr.setVisible(true);
  16. }
  17. }
复制代码
运行javac 提示Class FramePanel is public, should be declared in a file name ....
作者: 褚代江    时间: 2012-4-18 16:33
pan.setBackground(color.yellow);

fr.add(pan);
我吧这个color.yellow,变成Color,就行了,能运行出来
作者: 褚代江    时间: 2012-4-18 16:34
我知道你的错误了,你的java文件名是不是取得不是FramePanel,你看下,不是的话,改过来就可以了的
作者: 张超超    时间: 2012-4-18 16:35
很明显,你定义的文件名与public类的类名不一致,你需要修改文件名称为FramePanel。
希望回答的对你有帮助。
作者: liuyang    时间: 2012-4-18 16:58
定义一个类时如果没有用public 修饰 那么这个类的文件名可以是任何合法的变量名

但是一旦你的类用public修饰了,那么你这个类的文件名就必须和你定义的这个类名相同了
作者: 韩新凯    时间: 2012-4-18 23:21
13.pan.setBackground(color.yellow); 里面的color首字母大写。应该是Color类。


作者: 姚伟涛    时间: 2012-4-19 10:52
褚代江 发表于 2012-4-18 16:33
pan.setBackground(color.yellow);

fr.add(pan);

pan.setBackground(Color.yellow);
color.yellow改成Color.yellow就对了
3油
作者: 邵中国    时间: 2012-4-19 16:49
Color啊{:soso_e153:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2