Applet 应用程序

    一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能。
缺:
1、需要下载 Applet 及其相关文件
2、Applet 的功能是受限制的
优:
3、无需安装
4、平台无关性
5、安全
 
Applet 的生命周期
    编写一个 Applet 程序,需要继承 JApplet 类,这个类提供了 Applet 程序的基本行为方式,只需要覆写其中的方法就可以完成我们自己的 Applet 程序。
    生命周期
1、初始化阶段:init 方法
    在 Applet 执行之初,init 方法会自动被调用。init 方法的作用是完成 Applet 的初始化工作。一般,图形组件的初始化和版面分配都在这个方法中完成。在整个生命周期里,init 方法只会被调用一次。
2、执行阶段:start 方法
    在完成初始化后,Applet 就会自动调用 start 方法,执行其中的代码。与 init 方法不同的是,start 方法可能在整个生命周期中会被调用多次。它不仅仅是在 init 方法后被调用,在 Applet 当前窗口被激活时,start 方法也会被调用。
3、中止阶段:stop 方法
    当不需要 Applet 程序,或者说关闭 Applet 程序的时候,会调用 stop 方法。在 stop 方法中,执行一些清理或者关闭某些耗费资源的操作。在整个生命周期里,stop 方法只会被调用一次。
4、释放资源:destroy 方法
    在调用 stop 方法后,调用 destroy 方法完成最后的资源释放等工作。destroy 方法也只会被执行一次。
 
重量级的图形开发工具——AWT库(java.awt包)
  java中最早出现的图形开发工具,但 AWT 不太受人欢迎。
缺点:
1、失去灵活性。大部分组件含有native code代码。无法根据需要任意改变组件的外观,无法在组件上任意地添加团
2、想要个性化改变 AWT 的控件,需要自己编写 C 语言的 native code 代码,没换一次平台要重写和编译自己的 native code 代码。
 
控件说明:
1、容器 
2、组件
  Label 标签,用于显示文本。
  Button 按钮,点击按钮,会产生 ActionEvent 事件,利用 ActionListener 接口该事件 
  TextField 文本输入框,在这个组件中可以输入文本
  CheckBox 复选框,提供用户多项选择的组件
  Choice 下拉式菜单,以菜单的形式提供选择的组件
......
 
3、布局管理器
  BoderLayout 将版面分成五个区域:东、西、南、北、中。可以将组件放入这五个区域中,但每个区域只能放入一个组件
  FlowLayout 顺序横向摆放组件,若一行无法摆放所有组件时,下一行接着从左到右的顺序加入组件
  GridLayout 以行和列的方法排列组件。利用 GridLayout 将版面设置为几行和几列,然后横向顺序加入组件。
  CardLayout 将容器垂直分层,每一次只放一个组件,把组件放入不同的层并折叠起来,每次只能看到最上层的组件。
  GridBagLayout 最具灵活性,可以设置组件放置的具体位置和大小。
 
事件监听与事件处理:
1、事件 
2、事件源 
3、事件监听
  捕抓和处理该事件。委托事件模式(Delegation Model),事件源不同的事件委托给不同的事件监听类进行监听和处理。这种委托模式的另一个特点,就是我们只需要将感兴趣的时间委托给相应的事件监听类,对于那些不需要关心的事件,我们不需要做任何事情,包括委托。
 
让界面开发更容易——Swing
    AWT 无法满足我们对图形化界面设计的发展需求,因此就有了 Swing。Swing 是在 AWT 的基础上发展起来的,它突破了 AWT 的局限性,也弥补了 AWT 致命的缺陷,它被设计成一个轻量级的图形开发工具。
    Swing 是个轻量级的图形开发工具,没有 native code,也不依赖操作系统。 
 
容器与控件说明
     容器
1、顶层容器
  Swing 中的顶层容器包括 JFrame、JApplet、JDialog 和 JWindow。说是顶层的容器,其实是理解应该是最底层的容器,因为它最接近操作系统。和 Swing 的其他容器相比,顶层容器的特点就是这些容器并非轻量级容器,还有一定的 native code,Swing需要这些顶层容器和操作系统进行通讯。值得注意的是,和 AWT 容器不同,顶层容器中无法直接加入 JButton 等组件,需要借助其他容器加入顶层容器。
 
2、中间层容器
  Swing 的中间层容器都是轻量级,包括 JPanel、JScrollPane、JSplitPane 和 JToolBar 等。这些中间层的容器有着自己的特点。例如,JPnael 支持 double buffering 功能,有利于处理动画;JScrollPane 支持滚动的窗口;JSplitPane 能将版面划分为两个区域。
 
3、特殊容器
  Swing 中特殊容器包括:JInternalFrame 和 JLayeredPane 等。JInternalFrame 的使用几乎和 JFrame 一样,但它是轻量级容器,可以用来建立虚拟界面; JLayeredPane 是一个分层的容器,其实其他的容器都是 JLayeredPane 容器中的一层。
 
    Swing 的组件
  在 AWT 中有的组件,在 Swing 中都有,只是在名字前多加了J,例如 AWT 中 Button 在 Swing 中为 JButton。由于Swing中组件都是轻量级组件,AWT中组件为重量级,还是那句话,Swing中组件相比AWT,在各方面都有了极大的改善。
  在实现互动组件方面,Swing 中组件包括 JButton、ComboBox、JList、JMenu、JTextArea 和 JTextField等
  在显示方面,实现不可编辑的组件包括 JLabel 和 JProgressBar 等组件;实现可编辑的显示组件包括 JColorChooser、JFileChoose、JFileChooser 和 JTable 等。
  
    Swing的布局控制
    Swing的事件监听与事件处理机制
  同 AWT 差不多……
 
 
 

上大学那会儿比 较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也很久没有更新了,不过据说短小精悍,五脏俱全。SWT Designer不久前也被Google收购后重新整合进自己的产品中,然后开源了,现在名字叫:WindowBuilder Pro,看上去界面组件很丰富强大的样子,支持Swing, AWT, SWT, 以及Google自家的GWT等等。

目前JAVA图形界面开发主流工具如下:

1. WindowBuilder Pro

http://www.eclipse.org/windowbuilder/

https://developers.google.com/java-dev-tools/download-wbpro?hl=zh-CN

2. Jigloo(最新版是2010年更新的,看来这个项目现在已经不再做了)
http://www.cloudgarden.com/jigloo/

3. 也可以直接用IDE如:NetBeansMyEclipse,二者中都有自带的图形开发拖拽工具

相关阅读:
Eclipse进行可视化的GUI开发3大GUI插件
http://www.cnblogs.com/NationWoo/archive/2011/05/31/2065176.html

Java GUI图形界面开发工具的更多相关文章

  1. Java Swing图形界面开发

    本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...

  2. Java Swing 图形界面开发(目录)

    Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...

  3. JAVA与图形界面开发(Applet应用程序、AWT库、Swing)

    Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destr ...

  4. Java Swing 图形界面开发

    https://blog.csdn.net/xietansheng/article/details/72814492

  5. Java 图形界面开发--图文并茂建立学生管理系统

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...

  6. JAVA 图形界面开发基础详解

    与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk ...

  7. 搭建KVM环境——07 带GUI的Linux上安装KVM图形界面管理工具

    清空yum源缓存,并查看yun源 [root@CentOS2 ~]# yum clean all Loaded plugins: fastestmirror, langpacks Cleaning r ...

  8. Java GUI 桌面应用开发

    前言 虽然现在已经很少项目会涉及GUI技术,但作为一个合格的Java开发工程师,还是得了解才得 本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swin ...

  9. Quartz(GUI)图形界面程序----Quartz Web

    下载.设置和运行Quartz(GUI)图形界面程序----Quartz Web 一.获取Quartz Web程序(Quartz GUI).早期的 Quartz 框架开发者意识到一个 GUI 对于某类用 ...

随机推荐

  1. Jsp传递参数的方法

    今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超 ...

  2. php-fpm 开启错误日志

    #php-fpm.conf #open catch_workers_output = yes #php.ini log_errors = On error_log=/data/logs/php-fpm ...

  3. [暂停一天]从零开始PHP学习 - 第六天

    今天这个系列没有时间去写了 在公司完善一个项目     已经备好6瓶咖啡 两天 + 一夜 完成这个项目  真是苦逼 诶 反正这几天 明白一个道理:别以为你多牛B 你不会的东西多了!  比你牛B的人也多 ...

  4. 在输出视图中使用使用html注释会导致在Chrome中css失效

    在做SportsStore例子时,在视图List.cshtml中使用了html注释,即 <!-- 注释 --> 结果在加载css时,chrome浏览器中所有css效果都失效.IE不受影响. ...

  5. sql发邮件

    DROP PROCEDURE USP_CheckProductCodeRepeatAndSendMail go ---检查商家是否有重复的商品编号,如果有则发送给系统配置中接收的用户邮箱 CREATE ...

  6. 认识和理解css布局中的BFC

    认识和理解css布局中的BFC BFC的定义 是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. Block Formatting Con ...

  7. Acegi

    https://blogs.oracle.com/darcy/entry/properties_via_annotation_processing http://www.oschina.net/que ...

  8. java多线程同步

    一篇好文:java多线程机制同步原则 概括起来说,Java 多线程同步机制主要包含如下几点:1:如果一个类包含一个或几个同步方法,那么由此类生成的每一个对象都配备一个队列用来容纳那些等待执行同步的线程 ...

  9. 多线程编程之二 ---MFC中的多线程开发

    下载源代码 五.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消 ...

  10. HDU 5787 K-wolf Number(数位DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5787 [题目大意] 求区间[L,R]内十进制数相邻k位之间不相同的数字的个数. [题解] 很显然的 ...