WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1823查看
  • 5回复

[经验分享] 关闭Java窗体的技巧

主题

好友

1172

积分

禁止发言

发表于 2009-7-1 14:56:26 |显示全部楼层
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 voi

主题

好友

82

积分

注册会员

发表于 2009-7-28 10:15:03 |显示全部楼层
1# zz7061098


关键是这个有什么用呢???
回复

使用道具 举报

主题

好友

2128

积分

金牌会员

发表于 2009-7-28 17:04:35 |显示全部楼层
感谢楼主的分享,使我在学习过程中增加了知识!!!
回复

使用道具 举报

主题

好友

106

积分

注册会员

发表于 2009-8-5 14:14:28 |显示全部楼层
看不懂  晕了
回复

使用道具 举报

主题

好友

1496

积分

金牌会员

发表于 2009-8-12 17:35:10 |显示全部楼层
哇 好长一串洋码字,我直接晕了
回复

使用道具 举报

主题

好友

2802

积分

金牌会员

发表于 2009-8-13 01:09:47 |显示全部楼层
不是很懂,慢慢学习
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-21 12:21 , Processed in 0.076448 second(s), 16 queries .

返回顶部