Java的GUI编程(Graphic User Interface,图形用户接口),是在它的抽象窗口工具箱(Abstract Window Toolkit,AWT)上实现的,java.awt是AWT的工具类库,其中包括了丰富的图形、用户界面元件和布局管理器的支持。

  GUI主要用在两个地方:

  ◆Application;

  ◆Applet.

  1)GUI界面:

  在Java GUI中,用户与程序之间交互的一个控制面板,其内包含有菜单,控件(或组件),容器并能响应用户的事件。

  现在有各种各样的窗口系统,不同的窗口系统提供给程序设计的程序库是大不一样的,例如,基于Windows的SDK,和基于Unix平台的X Windows的Xlib.

  为了使程序能在不同的窗口系统下运行,Java提出了“抽象窗口系统”的概念,提供了AWT(抽象窗口工具箱),使得Java能够在不同的窗口系统下运行。

  2)Java中的GUI实现方式:

  采用AWT(抽象窗口工具集)从而可使Java GUI适用于不同OS的环境,打造多系统的用户界面。

  特点如下:

  ① 其具体实现由目标平台下的OS来解释,从而导致Java GUI在不同平台下会出现不同的运行效果(窗口外观、字体等的显示效果会发生变化)。

  ② 组件在设计时不应采用绝对定位,而应采用布局管理器来实现相对定位,以达到与平台及设备无关。

  3)新增的Java Swing GUI组件

  AWT组件以及事件响应不及微软的SDK丰富(因为有些OS平台无微软的Windows组件),Sun在Java2中新增了Swing GUI组件。但是,AWT比较简单,功能也能满足大多数用户界面需求,特别在Java Applet的设计中受到了普遍的应用。同时,这个讨论也为我们进一步研究Swing GUI组件打下了比较扎实的基础。

GUI用户界面编程的更多相关文章

  1. Java图形用户界面编程

    1.Java图形用户界面编程概述 JavaAPI中提供了两套组件用于支持编写图形用户界面:AWT(抽象窗口包)和Swing 2.  容器(Container):重量级容器和轻量级容器(一个容器可以放置 ...

  2. C++ GUI Qt4编程-创建自定义窗口部件

    C++ GUI Qt4编程-创建自定义窗口部件   Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部 ...

  3. I/O系统,多线程、图形用户界面编程

    多线程 进程与线程区别: 进程需要分配独立的内存空间:线程在同一内存空间中工作,可以共享同一块内存和系统资源 与Java相关的API: 1)Thread类 方法:start()启动: urn() : ...

  4. C++ GUI Qt4编程(10)-3.4spreadsheet

    1. C++ GUI Qt4编程第三章,增加spreadsheet. 2. spreadsheet.h /**/ #ifndef SPREADSHEET_H #define SPREADSHEET_H ...

  5. C++ GUI Qt4编程(09)-3.3spreadsheet-toolbar

    1. C++ GUI Qt4编程第三章,增加工具栏.状态栏和快捷键. 2. mainwindow.h /**/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #i ...

  6. C++ GUI Qt4编程(08)-3.2spreadsheet-resource

    1. C++ GUI Qt4编程第三章,图片使用资源机制法. 2. 步骤: 2-1. 在resource文件夹下,新建images文件,存放图片. 2-2. 新建spreadsheet.qrc文件,并 ...

  7. C++ GUI Qt4编程(07)-3.1menu

    1. C++ GUI Qt4编程第三章,添加menu菜单. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include < ...

  8. C++ GUI Qt4编程(03)-1.3layout

    1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:layout.cpp #include <QApplication> #i ...

  9. C++ GUI Qt4编程(02)-1.2quit

    1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:quit.cpp #include <QApplication> #inc ...

随机推荐

  1. [Effective JavaScript 笔记]第66条:使用计数器来执行并行操作

    第63条建议使用工具函数downloadAllAsync接收一个URL数组并下载所有文件,结果返回一个存储了文件内容的数组,每个URL对应一个字符串.downloadAllAsync并不只有清理嵌套回 ...

  2. spring多线程与定时任务

    本篇主要描述一下spring的多线程的使用与定时任务的使用. 1.spring多线程任务的使用 spring通过任务执行器TaskExecutor来实现多线程与并发编程.通常使用ThreadPoolT ...

  3. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  4. tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 8080

    1.INFO: Maximum number of threads (200) created for connector with address null and port 8091 说明:最大线 ...

  5. Linux phpbb论坛的安装(英文版)

    1:建立文件夹

  6. Vsftpd 配置

    步骤 本次是在CentOS 6的版本上操作的. 说明:以下命令均在root用户下执行.   (1)安装vsftpd 没啥好说的一条命令搞定. $yum install vsftpd 中间会提示确认,输 ...

  7. 一键式Spring集成工具 Spring Boot

    最近公司使用Spring boot进行开发,稍微了解一下,不过自我感觉把集中式配置applicate.properties搞明白,注解用过Spring MVC的boot绝对没问题的 比如拦截器:@As ...

  8. macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新

    由于chrome浏览器自动更新,导致 macaca运行报错,重新安装和更新chrome-driver 之后,还需要把chrome浏览器降级到50版本: 但是chrome会自动更新,所以需要禁止.找到这 ...

  9. tomcat下iims的配置感悟

    1.没有想(意识)到清楚:resin下的web.xml 和tomcat下的web.xml是不同的. 2.对于connect读取配置文件以及连接数据库根本就没有意识. /** * 获取本系统DB配置的文 ...

  10. java 导出Excel文件

    最近在做一个文件导出功能,发现大部分博客上通过引用各种的util工具包,其实说白了还是利用apache的poi,在项目中直接导入poi包就可以.直面其原理,随个人喜好封装. 1.首先准备一些poi的j ...