A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 ぺsimon☆ 于 2013-5-4 00:10 编辑
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. /*
  4. 往按钮添加一个监听器,同时把窗体和监听器代码分离
  5. */
  6. class Frame
  7. {
  8.         //定义图形中所需组件的引用
  9.         private Frame f;
  10.         private Button b;
  11.         
  12.         Frame()
  13.         {
  14.         init(); //调用方法
  15.         }

  16.         public void init()
  17.         {
  18.         f=new Frame("我是一个窗口");
  19.         b=new Button("我是一个按钮");

  20.         f.setBounds(300,100,500,400);//对frame进行基本设置
  21.         myEvent();
  22.         f.visible(true);
  23.         }

  24.         public void myEvent()
  25.         {
  26.         //给按钮添加一个活动监听器,用匿名内部类实现
  27.         b.addActionListener(new ActionListener()
  28.         {
  29.         public void actionPerformed(ActionEvent e)
  30.         {
  31.         System.out.println("按钮干的");
  32.         System.exit(0);
  33.         }
  34.         }
  35.         );
  36.         }
  37. }

  38. class FrameDemo2
  39. {
  40.         public static void main(String[] args)        
  41.         {
  42.         new Frame();
  43.         }
  44. }
复制代码
报错如下:

FrameDemo2.java:19: 找不到符号
符号: 构造函数 Frame(java.lang.String)
位置: 类 Frame
        f=new Frame("我是一个窗口");
          ^


谢谢各位兄弟

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

3 个回复

倒序浏览
哥们,你绝对是犯了一个低级错误。你自己定义的类怎么能叫Frame呢?Frame是java.awt.*中已经有的,你这定义后,new Frame("我是一个窗口");用的就是你自己的这个Frame类,你自己的这个类是没有这样一个构造方法的。
另外,现在写窗口,似乎用JFrame的比较多,swing包中的类。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
楼上正解!
回复 使用道具 举报
明白了谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马