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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 914360849 中级黑马   /  2015-5-26 21:38  /  260 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

-----------android培训java培训、java学习型技术博客、期待与您交流!------------
黑马程序员--java基础--GUI

GUI(图形用户界面):

--GUI

----Graphical User Interface(图形用户接口)。

----用图形的方式来显示计算机操作页面,这样更方便直观。

--CLI

----Command Line User Interface(命令行用户接口).

----就是Dos命令行操作。

----需要记忆一些常用的命令,操作不直观。

java为GUI提供的对象都在java.Awt和javax.Swing两个包中。

java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地

系统方法实现功能。属重量级控件。

javax.Swing:在AWT的基础上,建立一套图形界面系统,提供了更多的

组件,而且完全由java实现。增强了移植性,属于轻量级控件。

组件继承关系图:




其中Container中可以添加组件。

布局管理器:

--容器中的组件的排放方式,就是布局。

--常见的布局管理器;

----FlowLayout(流式布局管理器),从左到右的顺序排列,Panel默认的布局管理器。

----BorderLayout(边界布局管理器),东,西,南,北,中。Frame默认的布局管理器。

----GridLayout(网格布局管理器)。规则的矩阵。

----CardLayout(卡片布局管理器)。选项卡。

---- CardBagLayout(网格包布局管理器),非规则的矩阵。

事件监听机制的组成;

--事件源(组件);

--事件(Event)。

--监听器(Listener)。

--事件处理(引发事件后的处理方式);




事件监听机制的特点;

1,事件源。

2,事件。

3,监听器。

4,事件处理。

事件源:就是awt包或者swing包中的那些图形界面组件。

事件:每一个事件都有自己特有的对应事件和共性事件。

监听器;将可以触发某一类事件的动作都已经封装到了监听器中。

创建图形化界面:

1,  创建frame窗体。

2,  对窗体进行基本设置,比如大小,位置,布局。

3,  定义组件。

4,  将组件通过窗体的add方法添加到窗体中。

5,  让窗体显示,通过setVisible(方法)。

代码示例:

import java.awt.*;

import java.awt.event.*;

class  FrameDemo

{        

         //定义该图形中所需的组件的引用

         private Frame f;

         private Button but;


         FrameDemo()

         {

                   init();

         }


         public void init()

         {


                   f=new Frame("my frame");

                   //对frame进行基本设置

                   f.setBounds(400,200,500,300);

                   f.setLayout(new FlowLayout());

                   but=new Button("关闭");


                   //讲组件添加到frame中

                   f.add(but);


                   //加载一下窗体上的事件

                   myEvent();

                   //显示窗体

                   f.setVisible(true);

         }


         private void myEvent()

         {

                   f.addWindowListener(new WindowAdapter()

                   {

                            public void windowOpened(WindowEvent e)

                            {

                                     System.out.println("我被打开了 ");

                                     //System.exit(0);

                            }


                            public void windowClosing(WindowEvent e)

                            {

                                     System.out.println("我被关闭了 ");

                                     System.exit(0);

                            }



                   });


                   but.addActionListener(new ActionListener()

                   {

                            public void actionPerformed(ActionEvent e)

                            {

                                     System.out.println("按钮被点击 ");

                                     System.exit(0);

                            }


                   });



         }

         public static void main(String[] args)

         {

                   FrameDemo fd=new FrameDemo();

         }

}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马