当前位置:  技术问答>java相关

小弟初学JAVA,请各位大虾对以下代码逐句解释! 200分言谢!

    来源: 互联网  发布时间:2015-08-29

    本文导语:  请详细说明*********************************中间的代码! package myprojects.hellojava; import java.awt.*; import java.awt.event.*; class HelloJava extends Frame { ************************************************************* public HelloJava() { addWindowList...

请详细说明*********************************中间的代码!

package myprojects.hellojava;

import java.awt.*;
import java.awt.event.*;

class HelloJava extends Frame {
*************************************************************
public HelloJava() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
*************************************************************
public static void main(String args[]) {
System.out.println("Starting HelloJava...");
HelloJava mainFrame = new HelloJava();
mainFrame.setSize(400, 400);
mainFrame.setTitle("HelloJava");
mainFrame.setVisible(true);
}
}

|
package myprojects.hellojava;

import java.awt.*;
import java.awt.event.*;

class HelloJava extends Frame {
*************************************************************
public HelloJava() {//定义个方法
addWindowListener(new WindowAdapter() {//增加一个窗口事件监听器
public void windowClosing(WindowEvent e) {//监听窗口是否关闭
dispose();//假如扑获窗口关闭的事件调用次方法
System.exit(0);//程序正常退出
}
});
}
*************************************************************
public static void main(String args[]) {
System.out.println("Starting HelloJava...");
HelloJava mainFrame = new HelloJava();
mainFrame.setSize(400, 400);
mainFrame.setTitle("HelloJava");
mainFrame.setVisible(true);
}
}

|
我特别想问一下,addWindowListener是不是一个方法?如果是,以下代码:
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}
是不是addWindowListener的参数?
请就以上代码做一下详细说明!


to: wjmmml(笑着悲伤) 
也可以说public HelloJava()是个构造函数吧!

|
如果是想直接结束程序,dispose()方法可以不用,如果是只想关闭窗口,exit()可以不用。

class HelloJava extends Frame {    //继承Frame
*************************************************************
public HelloJava() {     //定义构造器
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {    //定义窗口关闭时调用的方法
dispose();//释放窗口所占资源
System.exit(0);//程序终止
}
});
}
*************************************************************
public static void main(String args[]) {
System.out.println("Starting HelloJava...");//在控制台输出
HelloJava mainFrame = new HelloJava();//实例化一个HelloJava对象
mainFrame.setSize(400, 400);//设置窗口尺寸
mainFrame.setTitle("HelloJava");//设置窗口标题
mainFrame.setVisible(true);//显示窗口
}
}

|
addWindowListener是增加监听器的方法,而
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}
是一个匿名内部类,你也可以单独建立一个内部类,然后实现WindowClosing方法,如
class CloseMyWindow implements WindowAdapter
{
     public void windowClosing(WindowEvent e) 
    {
//dispose();
System.exit(0);
     }
}

然后用addWindowListener(new CloseMyWindow())调用。
最好的了解资料《Think in Java〉第一版第七章。

|
没错啊!
是个方法啊!
我们可以这样理解啊:

WindowListener listener=...........;
frame.addWindowListener(listener);

WindowListener里面有七个方法啊!
XOpened,XClosing,XClosed,XIconified,XDeiconified,XActivated,XDeactivated;
WindowAdapter()设配器 只要继承一个就可以的啊!

呵呵,个人之见!



|
addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
        dispose();
        System.exit(0);
    }
}

new WindowAdapter() {...}
是匿名内部类,请查阅Java书的相关章节。
    

    
 
 

您可能感兴趣的文章:

  • 各位大虾,小弟有一事不明,请大虾赐教!
  • 那位大虾有cf卡的资料,小弟不胜感激!
  • skyyoung 、 kookoo 、 BrentIvan 、 mshy 四位大虾,请留下email,小弟有要事好事通知!
  • 请各位大虾给小弟推荐几本好书
  • 小弟有一简单问题向各位大虾请教:
  • 各位大虾,救救小弟阿!
  • 请各位大虾帮帮小弟,只一个小忙而已,谢谢!
  • 哪位大虾告知小弟:
  • 一个 [ 流 ] 的弱问题请大虾帮忙! 小弟谢过!
  • 哪位大虾有BCB6的serial number和authorization key,请给小弟一用,急,在线等候!
  • 诸位大虾,小弟无法继续学了,请指教,狂给分!!!!!!!!!!!!
  • 那位大虾,能不能告诉小弟jwsdk+jdk1.3在98下的具体设置吗?
  • 各位大虾,帮小弟一下,刚学linux,怎么在linux下安装硬件的驱动程序
  • 小弟早就想一窥Linux的奥秘,但苦于没有好的入门书,烦请大虾们介绍一些书,电子教程,好的网站及论坛
  • ☆☆☆急急急急急啊!!!各位大虾帮帮忙啦!小弟的机子进不去了!
  • 大虾们好,小弟问几个关于BASH编程的问题,请赐教!!
  • 大虾们给我解释解释这个输出问题。这里小弟先谢了。
  • 小弟初学linux各位大虾推荐几本这方面的入门书吧
  • 小弟初学Linux,而且要参加开发系统,各位大虾给给意见
  • 十万火急:各位大虾帮帮小弟吧。如何把informix数据库中的中文字段写如到一个文件中?
  • 小弟是初学者,请推荐几本不错的unix书籍。
  • 小弟初学LINUX,想问一下WINE的RPM包如何安装,以及WINE如何使用.谢谢
  • 大虾们给我解释解释这个输出问题。这里小弟先谢了。 iis7站长之家
  • 小弟初学JAVA,大家给点建议吧
  • ★一个关于java开发工具的问题,小弟初学,请大家指教
  • 小弟我初学XML,请教个问题:docbook是用来做什么的?
  • 小弟初学UNIX,想用ODBC访问INFORMIX,该怎么做?请指导一下吧
  • 小弟初学Java有一个疑问!!!
  • 小弟初学Linux,问一些菜问题!
  • 初学linux,想用locate这条命令查文件,可是出现问题,请高手帮小弟一下忙
  • 关于取子字符串的问题,小弟是初学者..............
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大哥们,小弟我准备学JAVA了给推荐几本好书吧!小弟不胜感激啊!
  • 小弟问个问题,JDK哪有下载啊!小弟不胜感激啊!
  • linux高人!!!帮帮小弟啊,小弟是菜鸟
  • 哥们,谁有Jbuilder 4的注册码,给小弟解围,小弟谢先!!!
  • 小弟考试在即!望大哥们帮忙!!!跪求!!!
  • 哪位大哥给小弟一个squirrelmail的安装教程
  • 各位网络编程的大侠,帮帮小弟
  • OpenSSL安装过程中遇到的问题,希望大哥们帮帮小弟
  • 小弟想在linux下访问windows 和usb的文件系统
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 各位兄弟 谁有 powerZip 5.21 的注册码,小弟不胜感激!!
  • 小弟想用java做个sygate
  • 求教:文件打包移植错误发生排序错误,小弟努力送分送分啦!59~~~
  • 小弟急需要知道程序员查分网站。多谢!!!
  • 小弟签约银行,想装个unix先熟悉一下!
  • 小弟高分求“Linux 0.02版”的源代码!
  • 小弟想学linux,推荐几本好书,有电子版下载的最好.
  • ★★★那位仁兄有Apache的源代码?小弟急用!多谢!!
  • 哪位大哥,大姐知道国内那个网站有jdk1.4的API下载,告诉小弟一下
  • 怎么用javamail发送附件,小弟刚接触,请各位大侠指教,谢谢!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3