黑马程序员技术交流社区

标题: 求解决问题 [打印本页]

作者: 工善器    时间: 2013-10-19 11:43
标题: 求解决问题
/*
对frame进行设置查看属性
*/
package en.itcast.java.tools;
import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;

import javax.naming.InitialContext;


public class FrameDemo {
        private Frame f;
       
        private Button b;
        public FrameDemo() {
         init();
        }
        public void init()
        {
                f= new Frame();
                //b=new Button();
                f.setBounds(400,300,200,300);
                f.setVisible(true);
                f.setLayout(new FlowLayout());
               
                b=new Button("按钮");
                f.add(b);
                myEvent();
        }
        private void myEvent()
                                {
                                        f.addWindowListener(new WindowAdapter() {
                                                public void widowClosing()
                                                {
                                                        System.exit(0);
                                                }
                                        });
                b.addActionListener(new ActionListener()
                {
                        private int  count =1;
                        public void actionProformed(ActionEvent e)
                        {
                                Button b1=(Button)e.getSource();
                                Frame f1=(Frame)b1.getParent();
                                //获得指定子窗口的父窗口的句柄,但是这里是一个button那?
                                f1.add(new Button("button-"+count++));
                                f1.validate();//生效,使合法化批准
                        }
                }
                                );
               
               
        }
       
       

        public static void main(String[] args) {
                new FrameDemo();
               
        }

}

作者: 工善器    时间: 2013-10-19 11:49
错误提示:
指定在:b.addActionListener(new ActionListener() 这一行
作者: 工善器    时间: 2013-10-19 11:59
  private void myEvent()//用户自定义的方法
                                {
                                        f.addWindowListener(new WindowAdapter() {//相当于接受对象的方法?构造方法中又含有一个系统自带方法???这样,,,
                                                public void widowClosing()
                                                {
                                                        System.exit(0);
                                                }
                                        });
另外这一段监听事件的代码也经常用,谁给缕缕关系?

作者: 工善器    时间: 2013-10-19 12:00
注意注释的部分
作者: 上篮高手    时间: 2013-10-19 12:12
new ActionListener(){@Override
                        public void actionPerformed(ActionEvent e) {
                          Button b1=(Button)e.getSource();
                      Frame f1=(Frame)b1.getParent();
                      //获得指定子窗口的父窗口的句柄,但是这里是一个button那?
                      f1.add(new Button("button-"+count++));
                      f1.validate();//生效,使合法化批准                               
                        }

这是我的


以下是你的
new ActionListener()
                {
                        private int  count =1;
                        public void actionProformed(ActionEvent e)
                        {
                                Button b1=(Button)e.getSource();
                                Frame f1=(Frame)b1.getParent();
                                //获得指定子窗口的父窗口的句柄,但是这里是一个button那?
                                f1.add(new Button("button-"+count++));
                                f1.validate();//生效,使合法化批准
                        }


actionProformed  写错了   应该是 actionPerformed
作者: 工善器    时间: 2013-10-19 16:45
上篮高手 发表于 2013-10-19 12:12
new ActionListener(){@Override
                        public void actionPerformed(ActionEvent e) {
        ...

请详细说明!那个函数是自定义的,怎么就该这一个 ??你把那个count去掉,怎么还能运行正常?? 你运行正常了么亲??
作者: 上篮高手    时间: 2013-10-19 16:53
工善器 发表于 2013-10-19 16:45
请详细说明!那个函数是自定义的,怎么就该这一个 ??你把那个count去掉,怎么还能运行正常?? 你运行 ...

有count  我没打上去

actionPerformed 是父类的
需要你重写的
这就是回调

作者: To    时间: 2013-10-20 19:07
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html




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