码迷,mamicode.com
首页 > 编程语言 > 详细

Java图形用户界面编程

时间:2016-06-11 22:44:21      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:

GUI代表图形用户界面(Graphical User Interface),Java API中提供了两套组件用户支持编写图形用户界面,包括AWT和Swing。

AWT使用本地操作系统的代码资源,被称为重量级组件。

Swing建立在AWT提供的基础之上,同时使用AWT相同的事件处理机制。Swing组件是轻量级的GUI组件,完全有纯Java代码编写,不依赖于任何特定平台,采用MVC架构方式来设计组件类。它将表示层分为三个分离的部分,分别是模型(model)、视图(view)、控制器(controler)。模型存储定义组件的数据,视图从模型中的数据创建组件的可视化表示,控制器处理用户与组件的交互操作,并在必要时更改模型或视图以响应用户行为。

开发Swing时因为视图和控制器存在很强的依赖关系,于是将视图和控制器组合称为UI委托的带个逻辑实体,所以Swing方法也被称为模型-委托架构或分离模型架构。

 

容器和组件

 

    容器是用来放置其它组件特殊类型的组件;组件是独立的可视化控件。一个组件要显示出来就必须放置在一个容器内,容器也是组件,容器也可以放置其它容器。

    

    容器分为重量级容器和轻量级容器。

    重量级容器:

        包括JFrame(窗体)、JDialog(对话框)、JWindow(窗口)、JApplet(小程序)。因为都继承AWT的Container,所以被成为重量级容器。每个程序至少要有一个重量级容器才可以提供图形化用户界面。

      每个包含层次必须从重量级容器开始,重量级容器不能包含在其它任何容器中。我们所接触到的是层次面板(分为内容面板和可选的菜单栏),Swing的组件都放在内容面板中。

    轻量级容器:

        包括常用的面板Jpanel、分隔窗格、滚动窗格、标签窗格、工具条,它们和普通的组件一样继承自Swing类的JComponent,故成为轻量级容器。它们的存在主要是为了定位其它组件。

    

 

    组件:

      按钮(类JButton)、单选按钮(类JRadioButton)、复选框(类JCheckBox)、组合框(类JComboBox)、列表框(类JList)、文本字段(类JTextField)、纯文本区域(类JTextArea)等  都继承自Swing类的JComponent。

 

组件在容器中的布局:

      组件要想在程序中显示就必须添加到容器中,组件在容器中的排列的形式根据是否使用布局管理器,以及使用何种类型的布局管理器来决定。

      如果需要将组件在容器中精确定位,就必须使用容器的setLayout(null)方法,然后调用组件的setBounds()方法设置组件的边界。

组件采用精确定位后不支持窗口的改变。

 

      AWT和Swing API 内置布局管理器

          流式布局管理器FlowLayout(JPanel组件默认采用FlowLayout布局管理器):

              安装组件添加顺序从左到右排列,可以控制容器组件居中、居左、居右,可以控制组件的垂直和水平间距。

          BorderLayout管理器(不是用来放置组件的,常用于放置中间容器):

              分为南北中东西五个区域,其中中间的面积和权力最大。

              Jframe默认的管理器。

              

事件驱动编程

        根据事件发生而执行代码的编程方式称为事件驱动编程。

        例子:通过点击一个按钮触发一个事件,按钮是该事件的事件源,将监听对象注册到按钮上,当一个动作事件发生在按钮上时,按钮通过调用定义的监听器的actionPerformed()方法来探知监听器。

        

      事件和事件源

          运行Java GUI程序时,程序负责与用户交互,而事件则驱动程序的执行。事件用于描述发生了什么事情,可以由外部用户的行为触发,例如鼠标移动、按钮点击、键入字符等,也可以由程序的内部活动触发,例如数据模型发生变化,程序可以选择响应或者忽略事件。

          生成一个事件并触发它的组件成为事件源。一个事件是一个事件类的实例对象,事件类的根对象是java.util.EventObject。

      事件监听器、注册和处理事件

          事件源触发一个事件但是事件源本事不处理,而是委托给对该 事件有兴趣的对象来处理。这个被委托来处理事件的对象,被称为事件监听器。

        

        成为事件源上的一个事件监听器的方法:

            1.创建一个监听器对象   监听器对象必须是对应的事件监听器接口的实例。Java为每种事件类型都提供了监听器接口。

            2.将监听器对象注册到事件源上。

 

 

 

 

        

 

 

              

 

 

 

 

  

 

Java图形用户界面编程

标签:

原文地址:http://www.cnblogs.com/denglu/p/5576035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!