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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郎泽东 中级黑马   /  2013-5-30 16:22  /  1958 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码为

import java.awt.*;
import java.awt.event.*;
public class frame1 extends frame{
  public static void main (String []args){
  new frame1.launchfram1();
  }
  public void launchfram1(){
   setLocation(200,300);
   setSize(300,300);
   pack();
   addWindowsListener(new WindowsAdapter(){

       public void WindowsClosing(WindowsEvent e){
       System.exit(0);
}

})
  }
}
我想问的是为什么在构造fram1的时候没有实现都关闭表功能,需要自己写代码实现,还有就是我在我在写关闭功能时候并没有判断是是点击的哪一个图标(fram1有最大化,最小化,关闭图标),我点击最多大或最小化都会引发窗口事件,也就是按理我随便点击其中一个,fram1都会关闭,但实际上只有点击关闭图标才是关闭。这是为什呀?

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
童鞋,你确定你这段代码能够有执行结果,我把你这段代码拷到eclipse中到处都是错,其中最不应该的是你连JFrame包都没有引入,这样怎么编写java GUi,你在好好的读一下你的代码,我看了一下你你添加监听的方式好像也不对哈,我记得应该是用面向对象的方法,把你需要添加监听的方法封装到一个类中,这个类必须implements 你要添加的那个监听器。
回复 使用道具 举报
void windowActivated(WindowEvent e)
          将 Window 设置为活动 Window 时调用。
void windowClosed(WindowEvent e)
          因对窗口调用 dispose 而将其关闭时调用。
void windowClosing(WindowEvent e)
          用户试图从窗口的系统菜单中关闭窗口时调用。
void windowDeactivated(WindowEvent e)
          当 Window 不再是活动 Window 时调用。
void windowDeiconified(WindowEvent e)
          窗口从最小化状态变为正常状态时调用。
void windowIconified(WindowEvent e)
          窗口从正常状态变为最小化状态时调用。
void windowOpened(WindowEvent e)
          窗口首次变为可见时调用。

你看这个,他们都是默认绑定图标的,你说的最大化,最小化也可以重写的,只是你重写的关闭的方法,懂了没?
回复 使用道具 举报
吴刚—heima 发表于 2013-5-30 19:43
童鞋,你确定你这段代码能够有执行结果,我把你这段代码拷到eclipse中到处都是错,其中最不应该的是你连JFr ...

你好这是我临时写得没有经调试所以错误有点多。
这是我刚刚调试的一个应该行了

import java.awt.Frame;
import java.awt.event.*;
public class Test extends Frame{
        public static void main(String []agr){
          
               new Test().launch();
        }
    public void launch(){
            this.setSize(200,200);
            this.setLocation(200,200);
            this.addWindowListener(new WindowAdapter(){
                    public void windowClosing( WindowEvent e){
                            System.exit(0);
                    }
            });
            this.setVisible(true);
    }

}
回复 使用道具 举报
吴刚—heima 发表于 2013-5-30 19:43
童鞋,你确定你这段代码能够有执行结果,我把你这段代码拷到eclipse中到处都是错,其中最不应该的是你连JFr ...

你好这是我临时写得没有经调试所以错误有点多。
这是我刚刚调试的一个应该行了

import java.awt.Frame;
import java.awt.event.*;
public class Test extends Frame{
        public static void main(String []agr){
          
               new Test().launch();
        }
    public void launch(){
            this.setSize(200,200);
            this.setLocation(200,200);
            this.addWindowListener(new WindowAdapter(){
                    public void windowClosing( WindowEvent e){
                            System.exit(0);
                    }
            });
            this.setVisible(true);
    }

}
回复 使用道具 举报
Changer_s 发表于 2013-5-30 20:57
void windowActivated(WindowEvent e)
          将 Window 设置为活动 Window 时调用。
void windowCl ...

你好非常感谢。我去看了些资料大概明白了。在做选择判断的哪一步不是在windclosing等方法中判定的,是系统自动完成的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马