🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #21567

Java ͼ���û��������֮�� ��ܡ����������¼�

#21567
From: ����è->�ú�ѧϰ...
Date: Thu, 27 Nov 2003 16:37
113 lines
11486 bytes
��. ��ܡ����������¼�
������� (Frame) �� Java ͼ���û�����Ļ����������ͨ����˵�Ĵ��ڣ��� Wi
ndows/XWindow Ӧ�ó���ĵ���������˵�� Windows/XWindow����Һ��������뵽����
�� (Event) ���Java ��ͼ���û����������¼���ģ������ɸ��ָ���ļ�����
 (Listener) ����׽�����¼���
�������������Ҫ��ijһ�������ij���¼����в�׽�ʹ���ʱ������ҪΪ����Ӽ�����
�����磬����Ҫ��һ������ (JFrame) ����ʱ�ı���ı��⣬���Ǿ���ҪΪ������� (
JFrame ����) ���һ�����Լ������ڡ���һ�¼��ļ���������WindowListene
r��
������ô��Ӽ������أ���ͨ����������ṩ��һ�� addXXXXXListener �ķ��������
������ JFrame ���ṩ�� addWindowListener ������Ӵ��ڼ����� (WindowListener)
��
����һ��������������ֻ����һ���¼������ǿ��Լ�����صĶ���¼������� WindowL
istener ���˼���ڼ����¼� (windowActivate) ֮�⣬�����Լ���ڹر��¼� (
windowClosing) �ȡ���ô��Щ�¼���ô����أ��Ϳ����ؼ������� (Class) �Ķ����
�� (Method) �ˣ�����������ij���¼��󣬻��Զ�������صķ���������ֻҪ������
���������Ϳ��Դ�����Ӧ���¼��ˡ�
���������ȿ�һ�����ӣ�
  /**
 * TestFrame.java
 * @author Fancy
 */
import javax.swing.*;
import java.awt.event.*;
public class TestFrame extends JFrame {
    private int counter = 0;
    public TestFrame() {
        /* ʹ�����������һ�����ڼ����� */
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.out.println("Exit when Closed event");
                System.exit(0); //�˳�Ӧ�ó���
            }
            public void windowActivated(WindowEvent e) {
                setTitle("Test Frame " + counter++); // �ı䴰�ڱ���
            }
        });
        setResizable(false);  // ���ô���Ϊ�̶���С
        setSize(200, 150);
    }
    public static void main(String[] args) {
        TestFrame tf = new TestFrame();
        tf.show();
    }
}
������������У����������һ��������(public class TestFrame extends JFrame {
 ...)������Ϊ������������һ�����ڼ����� (addWindowListener(new WindowAdapt
er() ...)����������ӵ�������ڼ�������Ҫ�����������¼������ڹر� (public vo
id windowClosing(WindowEvent e) ...) �ʹ��ڼ��� (public void windowActivated
(WindowEvent e) ...)���ڴ��ڹر��¼��������˳������Ӧ�ó���(System.exit(0);
)�����ڴ��ڼ����¼��У����Ǹı��˴��ڵı��� (setTitle("Test Frame " + counte
r++);)����������� main ��������ʾ���ⴰ�����һ��ʵ�����еõ���ͼ��ʾ��
���
���������������н�����һ��ʲô������û�мӵĿ�ܣ�Ҳ����һ���մ��ڡ���ô
����֪����ʾһ����������Ҫ�ļ�������𣿲�֪��û��ϵ�����������㣬��ʾһ����
��ֻ��Ҫ������£����ʵ��(����) -> ���ô�С -> ��ʾ����Ӧ�ģ�������������
���룺
����JFrame frame = new JFrame("Frame's Title");
����frame.setSize(400, 300);
����frame.show();
����Ҳ�����˵����һ�����˼���������������˼��Ҳ���ף�Ϊʲôһ��Ҫ�ڶ���
�أ���ʵ����Ҳ�������ˣ����㻭һ��û���д�С�ľ������ܻ������𣿲��ܡ�ͬ��
û�д�С�Ĵ��ڣ���ô��ʾ������������Ҫ�� setSize(int width, int height) ����
Ϊ�����ô�С�����ǻ�����һ�ַ������� JFrame �� pack() ���������Լ�����һ����
С��pack() �ڶ���ʱ������������ģ�����ʱ����Ҳ�������Ц���á��������Ծ�֪��
�ˡ�
������ JFrame �У�����ʹ�� addWindowListener ��������һ�������� WindowListen
er (addWindowListener(new WindowAdapter() ...) ȥ�������� JFrame �ϵĴ�����
����WindowListener ��һ���ӿڣ��� java.awt.event ������У����������к���û
��ʹ�� WindowListener������ʹ�õ� WindowsAdapter �ɣ�������ô���£�
����WindowAdapter �� WindowsListener �ӿڵ�һ����򵥵�ʵ�֣�Ҳ�ڰ� java.awt
.event �С��������ֱ��ʹ�� WindowListener ����һ�������࣬��Ҫʵ�����ÿһ��
���� (һ�� 7 ��)���� WindowAdapter ��Ϊ WindowListener ��򵥵�ʵ�֣��Ѿ�ʵ��
�����ÿһ������Ϊ�շ��� (��ֻ�����䣬����˵û�����ķ���)���� WindowAd
apter ��ֻ��Ҫ���ؿ����õ��ķ��� (������ֻ�� 2 ��) �����ˣ�����Ҫ��ȥʵ��ÿ
һ���������ŵ��Զ��׼����ٴ�������
������ JFrame �Ϸ���Ĵ����¼� (WindowEvent) ������
windowActivated(WindowEvent e)   ���ڵõ�����ʱ����
windowClosed(WindowEvent e)   ���ڹر�֮�󴥷�
windowClosing(WindowEvent e)   ���ڹر�ʱ����
windowDeactivated(WindowEvent e)   ����ʧȥ����ʱ����
windowDeiconified(WindowEvent e)
windowIconified(WindowEvent e)
windowOpened(WindowEvent e)   ���ڴ�֮�󴥷�
����������������������������������������в���Ĵ��ں�����һ��Ӧ�ó��򴰿�֮
�������л� (�� Windows ����ϵͳ�������ʹ�� Alt+Tab �����л�)�������Կ����㷢
����ʲô����û�������ǵ�ʾ��ڱ����ϵ�����һֱ�����ӣ�������� windowActiv
ated �¼��� setTitle("Test Frame " + counter++); �Ĺ��͡�
��������һ���¼����?�� windowClosing �е� System.exit(0) ��֤�˵����ڱ���
��ʱ�˳���ǰ�� Java Ӧ�ó������������Ĵ���������أ�����֮����ᷢ�֣�
������Ȼ�ر��ˣ�������û�н�����ʱ������ʹ�� ^C ǿ�н���֮�⣬����Ҳû
������취�ˡ����ԣ���һ��dz���Ҫ����������ڹرմ��ڵ�ʱ���˳�Ӧ�ó�����
Ҫ���Լ�д���봦�� windowClosing �¼�������Ҳ����Ȼ����ʵ��������һ����򵥵�
�취���� JFrame �Լ���������¡�����ֻ��Ҫ���µ��� JFrame �� setDefaultClose
Operation ���ɣ�
����frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
�������ǿ����� JFrame ��������� AWT ���� Swing ��������ǣ���Ȼ���� add ����
��ȴ����ֱ��������������������׳��쳣�������ž����ԡ������������ԭ��ֻ
��һ�����ͣ�JFrame ����һ����������ֻ��һ����ܡ���ô��Ӧ����ô�������أ�
����JFrame ��һ�� Content Pane����������ʾ��������������������� Content P
ane �С�JFrame �ṩ������������getContentPane �� setContentPane �������ڻ�ȡ
�������� Content Pane �ġ�ͨ�����Dz���Ҫ�������� JFrame �� Content Pane��ֻ��
Ҫֱ�ӻ�ȡ��� Content Pane ���������ȡ��磺(new JFrame()).getContentPane(
).add(new Button("test button"));
 
--
��......�����ѱ���ң����ҵ�����ͻ�������⣬��ĽŲ�����ø������˵IJ�һ
�������˵ĽŲ��������Ѹ�ٶ㵽�ص��£�����ĽŲ������������һ������ٻ�
����Ѩ��Ȼ���㿴�������DZߵ����������Ҳ���������Ӷ�����˵һ������Ҳû
�С������޷����Ҳ������룬��ʵ�ںܿɱ������ǣ�����һͷ���ɫ��ͷ���������ѱ
���ң��Ǹû��ж������ð������ɫ�����ӻ����������㣬��Ҳ��ϲ�����������䴵
������������                                              ------��С���ӡ�
�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 211.80.91.3]
Technical Details
Message-ID: <49QaMb$A8S@bbs.sjtu.edu.cn>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!c03.atl99!sjc70.webusenet.com!news.webusenet.com!news.bylinux.net!news.ccie.net.cn!SJTU

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: f6cb0,72528e5a48d15659,start
X-Google-Attributes: gidf6cb0,public
X-Google-ArrivalTime: 2003-11-27 08:36:02 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!c03.atl99!sjc70.webusenet.com!news.webusenet.com!news.bylinux.net!news.ccie.net.cn!SJTU
From: bocoo.bbs@bbs.sjtu.edu.cn (����è->�ú�ѧϰ...)
Newsgroups: cn.bbs.comp.lang.java
Subject: Java ͼ���û��������֮�� ��ܡ����������¼�
Date: 27 Nov 2003 16:37:45 GMT
Organization: ��ˮ˼Դ
Message-ID: <49QaMb$A8S@bbs.sjtu.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: Java/M.1069951045.A
Lines: 113