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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乐享 中级黑马   /  2013-11-15 21:55  /  1495 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学习swing组件,主要有三个内容
一是组件的显示,二是对组件支持的事件进行侦听,三是是自定义组件
1.JFrame
JFrame是主窗口,它和JDialog,JApplet的地位并列.但是,一个JFrame可以添加JDialog和JApplet进去它的内容面板,而反过来就不行
下面来看JFrame的例子
=================================================

Java代码
1        package blog.swing;   
2        import javax.swing.*;   
3        import java.awt.event.*;   
4         
5        class  JFrameDemo  
6        {   
7         JFramemainFrame;   
8         public JFrameDemo() {   
9          mainFrame = new JFrame ( "JFrameDemoTitle" ); //创建一个JFrame   
10      mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );//设置关闭动作  
11      mainFrame.setSize(300,300 );//设置窗口大小  
12      mainFrame.setLocationRelativeTo(null);//使窗口显示在屏幕中央  
13      
14      mainFrame.addWindowListener( new WindowListener(){   
15       public void windowOpened( WindowEvent e ){ System.out.println("window opened" ); }   
16       public void windowClosing( WindowEvent e ){ System.out.println("window closing" ); }   
17       public void windowClosed( WindowEvent e ){ System.out.println( "windowclosed" ); }   
18       public void windowIconified( WindowEvent e ){ System.out.println("window iconified" ); }   
19       public void windowDeiconified( WindowEvent e ){ System.out.println("window deiconified" ); }   
20       public void windowActivated( WindowEvent e ){ System.out.println("window activated" ); }   
21       public void windowDeactivated( WindowEvent e ){ System.out.println("window deactivated" ); }   
22      });   
23      mainFrame.addWindowFocusListener( new WindowFocusListener(){   
24       public void windowGainedFocus( WindowEvent e ){ System.out.println("gained focus" ); }   
25       public void windowLostFocus( WindowEvent e ){ System.out.println("lost focus" ); }   
26      });   
27      mainFrame.addWindowStateListener( new WindowStateListener(){   
28       public void windowStateChanged( WindowEvent e ){ System.out.println("state changed" ); }   
29      });   
30      
31      mainFrame.setVisible( true );   
32     }   
33     public static void main(String[] args)   
34     {   
35      new JFrameDemo();   
36     }   
37    }  


==========================================================
这里出现了三个不同的窗口事件侦听器,并实现了它们所有的方法
WindowListener和WindowFocusListener都可以对窗口失去,获得焦点进行侦听,不同的是,非帧窗口和对话框窗口不能接收WindowListener的windowActivated和windodwDeactivated事件
虽然可以用WindowListener对窗口的一些状态进行侦听,但是WindowStateListener提供了更多的支持.例如,WindowStateListener可以处理还原窗口的事件,可以判断一个窗口是不是在垂直和水平两个方向都可以最大化(命令提示符窗口只可以在垂直方向上最大化),而这些都是WindowListener都无能为力
2.JLabel
JLabel是一标签.在它的文本里嵌入html标签,可以简单实现一个超链接组件
。。。。。。。。

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马