精华内容
下载资源
问答
  • Java应用程序窗口关闭的六种方法。。。。。。。。。。。
  • 1.使用JFrameenableEvents和processWindowEvent//Frame1.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class Frame1 extends JFrame {public Frame1() {enableEvents(AWTEvent....

    1.使用JFrame的enableEvents和processWindowEvent

    //Frame1.java

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class Frame1 extends JFrame {

    public Frame1() {

    enableEvents(AWTEvent.WINDOW_EVENT_MASK);

    this.setSize(new Dimension(400, 300));

    this.setTitle("Frame1");

    }

    protected void processWindowEvent(WindowEvent e) {

    super.processWindowEvent(e);

    if (e.getID() == WindowEvent.WINDOW_CLOSING) {

    System.exit(0);

    }

    }

    }

    2.直接实现WindowListener接口

    //Frame1.java

    import java.awt.*;

    import java.awt.event.*;

    public class Frame1 extends Frame implements WindowListener {

    public Frame1() {

    this.setSize(new Dimension(400, 300));

    this.setTitle("Frame1");

    this.addWindowListener(this);

    }

    public void windowClosing(WindowEvent windowEvent) {

    System.exit(0);

    }

    public void windowOpened(WindowEvent windowEvent) {  }

    public void windowClosed(WindowEvent windowEvent) {  }

    public void windowIconified(WindowEvent windowEvent) {  }

    public void windowDeiconified(WindowEvent windowEvent) {  }

    public void windowActivated(WindowEvent windowEvent) {  }

    public void windowDeactivated(WindowEvent windowEvent) {  }

    }

    3.直接继承窗体适配器WindowAdapter

    //Frame1.java

    import java.awt.*;

    import java.awt.event.*;

    public class Frame1 extends  WindowAdapter {

    public Frame1() {

    Frame f=new Frame();

    f.setSize(new Dimension(400, 300));

    f.setTitle("Frame1");

    f.addWindowListener(this);

    f.setVisible(true);

    }

    public static void main(String[] s){

    new Frame1();

    }

    public void windowClosing(WindowEvent windowEvent) {

    System.exit(0);

    }

    }

    4.间接继承窗体适配器WindowAdapter

    //Frame1.java

    import java.awt.*;

    import java.awt.event.*;

    public class Frame1 extends  Frame {

    public Frame1() {

    this.setSize(new Dimension(400, 300));

    this.setTitle("Frame1");

    this.addWindowListener(new winAdapter());

    this.setVisible(true);

    }

    public static void main(String[] s){

    new Frame1();

    }

    }

    class winAdapter extends WindowAdapter{

    public void windowClosing(WindowEvent windowEvent) {

    System.exit(0);

    }

    }

    5.间接实现WindowListener接口

    //Frame1.java

    import java.awt.*;

    import java.awt.event.*;

    public class Frame1 extends  Frame {

    public Frame1() {

    this.setSize(new Dimension(400, 300));

    this.setTitle("Frame1");

    this.addWindowListener(new winEventHandle());

    this.setVisible(true);

    }

    public static void main(String[] s){

    new Frame1();

    }

    }

    class winEventHandle implements WindowListener {

    public void windowClosing(WindowEvent windowEvent) {

    System.exit(0);

    }

    public void windowOpened(WindowEvent windowEvent) {  }

    public void windowClosed(WindowEvent windowEvent) {  }

    public void windowIconified(WindowEvent windowEvent) {  }

    public void windowDeiconified(WindowEvent windowEvent) {  }

    public void windowActivated(WindowEvent windowEvent) {  }

    public void windowDeactivated(WindowEvent windowEvent) {  }

    }

    6.使用Inner Class

    //Frame1.java

    import java.awt.*;

    import java.awt.event.*;

    public class Frame1{

    public Frame1(){

    Frame f=new Frame();

    f.addWindowListener(new WindowAdapter(){

    public void windowClosing(WindowEvent e){

    System.exit(0);

    }

    });

    f.setSize(new Dimension(400, 300));

    f.setVisible(true);

    }

    public static void main(String[] s){

    new Frame1();

    }

    }

    Jframe的关闭方法:

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    frame的关闭方法如下: this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } });

    展开全文
  • java应用程序窗口关闭的六种方法
    项目推荐

    推荐个人GItHub开源项目(iot-dc3)一个开源的、分布式的物联网(IOT)平台,用于快速开发物联网项目和管理拓展。https://github.com/pnoker/iot-dc3


    ####1.使用使用JFrame的enableEvents和processWindowEvent

       import java.awt.*; 
      import java.awt.event.*; 
      import javax.swing.*; 
      public class Frame1 extends JFrame { 
      public Frame1() { 
      enableEvents(AWTEvent.WINDOW_EVENT_MASK); 
      this.setSize(new Dimension(400, 300)); 
      this.setTitle("Frame1"); 
      } 
      protected void processWindowEvent(WindowEvent e) { 
      super.processWindowEvent(e); 
      if (e.getID() == WindowEvent.WINDOW_CLOSING) { 
      System.exit(0); 
      } 
      } 
      } 
    

    ####2.直接实现WindowListener接口

       import java.awt.*; 
      import java.awt.event.*; 
      public class Frame1 extends Frame implements WindowListener { 
      public Frame1() { 
      this.setSize(new Dimension(400, 300)); 
      this.setTitle("Frame1"); 
      this.addWindowListener(this); 
      } 
      public void windowClosing(WindowEvent windowEvent) { 
      System.exit(0); 
      } 
      public void windowOpened(WindowEvent windowEvent) { } 
      public void windowClosed(WindowEvent windowEvent) { } 
      public void windowIconified(WindowEvent windowEvent) { } 
      public void windowDeiconified(WindowEvent windowEvent) { } 
      public void windowActivated(WindowEvent windowEvent) { } 
      public void windowDeactivated(WindowEvent windowEvent) { } 
      } 
    

    ####3.直接继承窗体适配器WindowAdapter

       import java.awt.*; 
      import java.awt.event.*; 
      public class Frame1 extends WindowAdapter { 
      public Frame1() { 
      Frame f=new Frame(); 
      f.setSize(new Dimension(400, 300)); 
      f.setTitle("Frame1"); 
      f.addWindowListener(this); 
      f.setVisible(true); 
      } 
      public static void main(String[] s){ 
      new Frame1(); 
      } 
      public void windowClosing(WindowEvent windowEvent) { 
      System.exit(0); 
      } 
      } 
    

    ####4.间接继承窗体适配器WindowAdapter

       import java.awt.*; 
      import java.awt.event.*; 
      public class Frame1 extends Frame { 
      public Frame1() { 
      this.setSize(new Dimension(400, 300)); 
      this.setTitle("Frame1"); 
      this.addWindowListener(new winAdapter()); 
      this.setVisible(true); 
      } 
      public static void main(String[] s){ 
      new Frame1(); 
      } 
      } 
      class winAdapter extends WindowAdapter{ 
      public void windowClosing(WindowEvent windowEvent) { 
      System.exit(0); 
      } 
      } 
    

    ####5.间接实现WindowListener接口

       import java.awt.*; 
      import java.awt.event.*; 
      public class Frame1 extends Frame { 
      public Frame1() { 
      this.setSize(new Dimension(400, 300)); 
      this.setTitle("Frame1"); 
      this.addWindowListener(new winEventHandle()); 
      this.setVisible(true); 
      } 
      public static void main(String[] s){ 
      new Frame1(); 
      } 
      } 
      class winEventHandle implements WindowListener { 
      public void windowClosing(WindowEvent windowEvent) { 
      System.exit(0); 
      } 
      public void windowOpened(WindowEvent windowEvent) { } 
      public void windowClosed(WindowEvent windowEvent) { } 
      public void windowIconified(WindowEvent windowEvent) { } 
      public void windowDeiconified(WindowEvent windowEvent) { } 
      public void windowActivated(WindowEvent windowEvent) { } 
      public void windowDeactivated(WindowEvent windowEvent) { } 
      } 
    

    ####6.使用Inner Class

       import java.awt.*; 
      import java.awt.event.*; 
      public class Frame1{ 
      public Frame1(){ 
      Frame f=new Frame(); 
      f.addWindowListener(new WindowAdapter(){ 
      public void windowClosing(WindowEvent e){ 
      System.exit(0); 
      } 
      }); 
      f.setSize(new Dimension(400, 300)); 
      f.setVisible(true); 
      } 
      public static void main(String[] s){ 
      new Frame1(); 
      } 
      } 
    
    
      Jframe的关闭方法:
    
    
       setDefaultCloseOperation(EXIT_ON_CLOSE); 
      frame的关闭方法如下: 
      this.addWindowListener(new java.awt.event.WindowAdapter() { 
      public void windowClosing(java.awt.event.WindowEvent e) { 
      System.exit(0); 
      } 
      }); 
    
    展开全文
  • java 窗口关闭的六种方法

    千次阅读 2010-01-10 14:11:00
    1.使用JFrameenableEvents和processWindowEvent //Frame1.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Frame1 extends JFrame { public Frame1() { enableEvents(AWT

    1.使用JFrame的enableEvents和processWindowEvent
    //Frame1.java
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Frame1 extends JFrame {
      public Frame1() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
      }
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
        }
      }
    }
    2.直接实现WindowListener接口
    //Frame1.java
    import java.awt.*;
    import java.awt.event.*;
    public class Frame1 extends Frame implements WindowListener {
      public Frame1() {
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
        this.addWindowListener(this);
      }
      public void windowClosing(WindowEvent windowEvent) {
        System.exit(0);
      }
      public void windowOpened(WindowEvent windowEvent) {  }
      public void windowClosed(WindowEvent windowEvent) {  }
      public void windowIconified(WindowEvent windowEvent) {  }
      public void windowDeiconified(WindowEvent windowEvent) {  }
      public void windowActivated(WindowEvent windowEvent) {  }
      public void windowDeactivated(WindowEvent windowEvent) {  }
    }
    3.直接继承窗体适配器WindowAdapter
    //Frame1.java
    import java.awt.*;
    import java.awt.event.*;
    public class Frame1 extends  WindowAdapter {
      public Frame1() {
        Frame f=new Frame();
        f.setSize(new Dimension(400, 300));
        f.setTitle("Frame1");
        f.addWindowListener(this);
        f.setVisible(true);
      }
      public static void main(String[] s){
        new Frame1();
      }
      public void windowClosing(WindowEvent windowEvent) {
        System.exit(0);
      }
    }
    4.间接继承窗体适配器WindowAdapter
    //Frame1.java
    import java.awt.*;
    import java.awt.event.*;
    public class Frame1 extends  Frame {
      public Frame1() {
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
        this.addWindowListener(new winAdapter());
        this.setVisible(true);
      }
      public static void main(String[] s){
        new Frame1();
      }
    }
    class winAdapter extends WindowAdapter{
      public void windowClosing(WindowEvent windowEvent) {
        System.exit(0);
      }
    }
    5.间接实现WindowListener接口
    //Frame1.java
    import java.awt.*;
    import java.awt.event.*;
    public class Frame1 extends  Frame {
      public Frame1() {
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
        this.addWindowListener(new winEventHandle());
        this.setVisible(true);
      }
      public static void main(String[] s){
        new Frame1();
      }
    }
    class winEventHandle implements WindowListener {
      public void windowClosing(WindowEvent windowEvent) {
        System.exit(0);
      }
      public void windowOpened(WindowEvent windowEvent) {  }
      public void windowClosed(WindowEvent windowEvent) {  }
      public void windowIconified(WindowEvent windowEvent) {  }
      public void windowDeiconified(WindowEvent windowEvent) {  }
      public void windowActivated(WindowEvent windowEvent) {  }
      public void windowDeactivated(WindowEvent windowEvent) {  }
    }
    6.使用Inner Class
    //Frame1.java
    import java.awt.*;
    import java.awt.event.*;
    public class Frame1{
      public Frame1(){
        Frame f=new Frame();
        f.addWindowListener(new WindowAdapter(){
          public void windowClosing(WindowEvent e){
            System.exit(0);
          }
        });
        f.setSize(new Dimension(400, 300));
        f.setVisible(true);
      }
      public static void main(String[] s){
        new Frame1();
      }
    }

     

     

    Jframe的关闭方法:

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    frame的关闭方法如下:
    this.addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(java.awt.event.WindowEvent e) {
    System.exit(0);
    }
    });

    展开全文
  • 有时在安装一些必须的软件会提示系统重要文件被系统"文件保护"所控制而无法安装的情况,下面提供其开启与关闭的六种具体方法。 一、控制系统"文件保护" 操作方法: ㈠、运行“注册表编辑器”。然后找到[HKEY_...
    有时在安装一些必须的软件会提示系统重要文件被系统"文件保护"所控制而无法安装的情况,下面提供其开启与关闭的六种具体方法。

       一、控制系统"文件保护"

        操作方法:

        ㈠、运行“注册表编辑器”。然后找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]这个子键。

    在右侧的窗口中创建一个“双字节值”并命名为“SFCScan ”然后修改其值为 0 = 禁用, 1 = 启动时扫描, 2 = 扫描一次。
    退出“注册表编辑器”注销或重新启动计算机,你会看到更改后的效果。

    Windows XP和2000包括一种叫做WFP(Windows File Protection,Windows文件保护)的技术。把"SFCDisable"键的键值设置为"ffffff9d"可禁

    用WFP,而设置为"0"则可以启用它。其它一些可用的键值如下:
        1)- 禁用,但是在系统启动的时候会询问你是否重新启用
        2)- 只在下一次重启动的时候禁用,也不会询问你是否重新启用
        4)- 启用,并且,不显示弹出窗口
        5)- ffffff9d - 完全禁用

        ㈡、用sfc /quiet把wfc屏蔽掉就行了

        ㈢、插入系统安装光盘,运行sfc /scannow命令检测并修复可能受损坏和更改的系统文件.

        ㈣、组策略修改

        运行gpedit.msc>组策略/计算机配制/管理模块/系统/windows 文件保护 >设置Windows 文件保护扫描>修改为"已禁用"重新启动系统。

        ㈤、1.用UltraEdit(文本编辑工具,完全可以替代写字板。强烈推荐)打开X:\windows\System32目录下的sfc_os.dll(打开前先备份到dllcache目录下),Ctrl+G打开搜索栏,查找0xECE9,把33C040改成909090,另存为sfc_patch.dll;  
     
            2.想办法把sfc_patch.dll改名成sfc_os.dll并替代原文件。
           <1>.使用故障控制台,输入命令:Copy  %SystemRoot%\System32\sfc_patch.DLL  %SystemRoot%\System32\SFC_OS.DLL  /Y  
           <2>.把硬盘摘到另一个机器里,从本机硬盘的系统启动,再来重命名sfc_patch.dll为sfc_os.dll。
           <3>.使用ghost8.2备份系统成镜像文件,用ghost explorer打开镜像,删除sfc_os.dll,重命名sfc_patch.dll成sfc_os.dll(再这里做的任何修改都不会出现警报提示)。

            小注:此法可灵活应用与删除病毒及千奇百怪的无法删除的文件上。 

            3.重启动Windows  XP;  
            4.进安全模式,打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows  NT\CurrentVersion\Winlogon : SFCDisable键值改成ffffff9d(默认是开启保护,值是0)
            5.重新启动XP.

      ㈥、使用超级兔子,关闭文件保护即可。

    二、用扫描工具SFC来查看系统文件是否被替换

      SFC工具会自动扫描所有受保护的系统文件,并用正确的版本取代不正确的版本。在操作系统部分损坏时,可以用来恢复系统。

      SFC的命令行及其各参数如下:
      SFC [/scannow] [/scanonce] [/scanboot] [/cancel] [/enable]
    [/purgecache] [/cachesize=x] [/quiet]
      /SCANNOW:立即扫描所有设置保护的系统文件。
      /SCANONCE:下次开机时,只扫描一次所有设置保护的系统文件。
      /SCANBOOT:每次启动时,扫描所有设置保护的系统文件。
      /CANCEL:取消所有搁置中的设置保护系统文件的扫描。
      /QUIET:不提示用户,直接取代所有不正确的文件版本。
      /ENABLE:启用Windows文件保护,方便一般操作。
      /PURGECACHE:删除文件缓存,并立即扫描所有设有保护的文件系统。
      /CACHESIZE=x:设定文件缓存大小。

     

    转载于:https://www.cnblogs.com/jxnclyk/archive/2010/09/10/1823131.html

    展开全文
  • 在工作和学习中,我们经常在网上查阅资料,然而有时候找到想要资料后,由于网页不能复制,我们只能对着屏幕慢慢地敲键盘了,今天就来教大家六种方法,学会后全网任意免费复制。一、保存网页法1.介绍将不能复制...
  • 经过以上更改基本就可以访问了,你可以尝试选择一适合你的方法。下面在再补充点其它可能会遇到问题。 7.网络邻居不能看到计算机 可能经常不能在网络邻居中看到你要访问计算机,除非你知道计算机名字或者...
  • caono佳能清零方法

    2011-06-30 16:58:04
    种方法: 机器安装就绪后 (1)开机时按住电源键等待机器发出声音(1到2声)后放开; (2)先按住进纸键再按电源键开机,3秒后再放开进纸键。 1、BJC265SP、4310、4650:上纸后按POWER键听一声,等待自检; 2...
  • 这里有另外一种方法,如果你想多学一点东西,请接着往下看。 选中所有的尾注文本,点“格式︱字体”,改为“隐藏文字”,切换到普通视图,选择“视图︱脚注”,此时所有的尾注出现在窗口的下端,在“尾注”下拉列表...
  • SessionStorage 存储数据只在会话期间有效,关闭浏览器则自动删除 Sqlite 一款轻型数据库,是遵守ACID关系型数据库管理系统,它包含在一个相对小C库中 W3C 万维网联盟,创建于1994年,是Web技术领域最具权威...
  • 一、3种关闭交互窗口方法: 1.按键:Ctrl+Z 2.输入:quit() 3.鼠标关闭 二、Ctrl+C中断程序执行 三、注意中英文输入下符号不同 四、python通过缩进来组织程序 五、单行注释前加#,多行加’’’ 、tab键使用 七...
  • 在工作和学习中,我们经常在网上查阅资料,然而有时候找到想要资料后,由于网页不能复制,我们只能对着屏幕慢慢地敲键盘了,今天就来教大家六种方法,学会后全网任意免费复制。一、保存网页法1.介绍将不能复制...
  • 因此,我们必须按下Win+Break键,然后单击“系统还原”标签,取消“在所有驱动器上关闭系统还原”选项,然后选中D盘,单击“设置”按钮,在打开的窗口中选中“关闭这个驱动器上系统还原”选项。依次将其他盘上...
  • 种方法实现了信号和槽函数关联,第一个按钮我们直接在设计器中实现其关 联;第二个按钮我们自己写了槽函数语句,其实图形设计与直接写代码效果是 一样。 这个程序里我们实现了两类窗口打开方式,一个是自身...
  • excel使用

    2012-11-25 17:06:01
    合并不同单元格内容,还有一种方法是利用CONCATENATE函数,此函数作用是将若干文字串合并到一个字串中,具体操作为“=CONCATENATE(B1,C1)”。比如,假设在某一河流生态调查工作表中,B2包含“物种”、B3包含...
  • 首先选择优化王下“卸载软件”功能,然后切换到“专业卸载”选项卡,此处提供了18软件卸载功能。超级兔子优化王软件会自动对系统进行检测,若装有该程序话此处便会显示“已安装”,接着选中要卸载 十六、...
  • “新业务”按钮,进入添加主信息窗口,必须选择供货单位,提供了三方式: a、供货单位选择可 以用下拉框 b、输入供货单位代码 c、双击鼠标跳出帮助窗口。 添加主信息完成后,点击确定,进入 “添加明细”,添加...
  • 学习VI和VIM编辑器第7版中文

    热门讨论 2012-07-11 15:24:59
    缓冲区及其与窗口的交互 在窗口里追踪标签 分页编辑 关闭与离开窗口 摘要 第十二章 vim脚本 你最爱什么色调? 通过脚本动态配置文件类型 关于vim脚本编码的其他思考 资源 第十三章 图形化vim(gvim) gvim...
  • IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用,如 shift+...
  • Visual Studio程序员箴言--详细书签版

    热门讨论 2012-10-16 20:37:39
    技巧3.2 在不打开“查找和替换”窗口的情况下,使用Ctrl+F3键搜索当前选中的单词 58 技巧3.3 不自动搜索当前选中的单词 58 3.1.3 重复上次搜索 59 技巧3.4 使用F3键搜索上次的搜索内容 59 3.2 快速搜索 59...
  • -一个典型应用,在Window控件中打开新页面,如果传递参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...
  • ExtAspNet_v2.3.2_dll

    2010-09-29 14:37:08
    -一个典型应用,在Window控件中打开新页面,如果传递参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    使用了个类五个模块类演示了atl调用方法 autoplaysnd mp3 播放器源码 重载了自带控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#一...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    使用了个类五个模块类演示了atl调用方法 autoplaysnd mp3 播放器源码 重载了自带控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#一...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    使用了个类五个模块类演示了atl调用方法 autoplaysnd mp3 播放器源码 重载了自带控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#一...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    使用了个类五个模块类演示了atl调用方法 autoplaysnd mp3 播放器源码 重载了自带控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#一...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    使用了个类五个模块类演示了atl调用方法 autoplaysnd mp3 播放器源码 重载了自带控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#一...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    使用了个类五个模块类演示了atl调用方法 autoplaysnd mp3 播放器源码 重载了自带控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#一...

空空如也

空空如也

1 2 3 4 5
收藏数 90
精华内容 36
关键字:

关闭窗口的六种方法