JAVA与图形界面开发(Applet应用程序、AWT库、Swing)
- Applet
1)简单说,Applet就是嵌入到网页中的小程序,Java代码。
2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init、start、stop、destroy<可选>)即可。
3)Applet生命周期:
初始化阶段:init方法(自动被调用,完成图形组件的初始化和版面分配)
执行阶段:start方法(当Applet当前窗口被激活时,执行相应代码)
终止阶段:stop方法(关闭Applet程序时)
释放资源:destroy方法
4)向Applet里添加控件——init
5)Applet的事件处理模型———首先注册需要捕捉的事件;然后编写相应的处理逻辑。
button.addActionListener(this);//注册,this表示Applet程序本身
public void actionPerformed(ActionEvent e){ if(e.getActionCommand().equals("name")){ label.setText("hello "+text.getText()); } }//处理逻辑
6)将Applet程序插入网页
在网页中需要的地方插入代码:<applet code="HelloWorld.class" width=200 height=100></applet>//告诉浏览器该applet程序图形界面的大小
然后将HelloWorld.class和HelloWorld.html文件放在同一个目录下,点击html文件即可运行。
或直接使用JDK提供的Appletviewer命令运行Applet程序:在dos环境中的相关路径下键入Appletviewer HelloWorld.html即可。
- AWT(Abstract Window Toolkit,抽象窗口工具包)
1)AWT提供了所有OS共有的图形控件,如按钮、菜单、文本框等。
2)但是AWT是建立在OS之上,所以大部分组件都含有native code代码。虽然native code代码保证了控件与OS的兼容性,但也使AWT中的控件失去了灵活性。利用AWT开发图形界面,我们无法改变组件外观,除非编写C语言的native code代码,这对跨平台是个致命打击,同时AWT效率也不高。
3)所以,了解一下就可以了,知道她有三类控件:组件(label、button等)、容器(window、panel、applet)、布局管理器(FlowLayout、GridLayout等)。
4)也要进行事件的监听、事件的处理。
- Swing———AWT改进版,使图形界面开发更容易
1)Swing是个轻量级的图形开发工具,没有native code,也不依赖于操作系统,Java的跨平台在Swing上得到了极大地体现。
2)三类容器:
顶层容器(JFrame、JApplet、JDialog、JWindow):并非轻量级,还需要native code,因为需要他们与OS进行通讯。顶层容器不能直接加入JButton等组件,必须借助其他容器。
中间层容器(JPanel、JScrollPane、JSplitPane、JToolBar等):轻量级容器。
特殊容器(JInternalFrame、JLayeredPane等):轻量级。
3)丰富的组件:AWT有的组件Swing都有,只是在名字前加了J,都是轻量级组件。
4)五大布局管理器:BorderLayout、FlowLayout、GridLayout、CardLayout、GridBagLayout。
5)事件监听和事件处理机制:和AWT一样,采用委托事件模式,即——将事件源不同的事件委托给不同的事件监听类进行监听和处理,同时只需要将感兴趣的事件委托给相应的事件监听类,而不用关心不需要的事件。
6)做个小程序玩玩吧。。。
JAVA与图形界面开发(Applet应用程序、AWT库、Swing)的更多相关文章
- Java GUI图形界面开发工具
Applet 应用程序 一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...
- JAVA 图形界面开发基础详解
与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk ...
- Java 图形界面开发--图文并茂建立学生管理系统
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...
- Java Swing 图形界面开发(目录)
Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...
- Java Swing图形界面开发
本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...
- Java的图形界面依然是跨平台的
Awt:抽象窗口工具箱,它由三部分组成: ①组件:界面元素: ②容器:装载组件的容器(例如窗体): ③布局管理器:负责决定容器中组件的摆放位置. 图形界面的应用分四步: ① 选择一个容器: ⑴wind ...
- 【计项02组01号】Java版图形界面计算器
Java版图形界面计算器1.0版本 项目分析[1.0] 组成部分 代码结构 (1)窗口的创建 在<JDK 核心 API>中我们提到,创建一个窗口需要使用 JFrame 类.在本实验中,我们 ...
- Java自学-图形界面 容器
Swing 的容器 JFrame和JDialog java的图形界面中,容器是用来存放 按钮,输入框等组件的. 窗体型容器有两个,一个是JFrame,一个是JDialog 步骤 1 : JFrame ...
- python 图形界面开发
用python来开发图形界面,确实不是很方便,没有c#,Java,甚至VB来得容易.几个控件拖拽,然后响应事件. 用python写脚本,或者web service来处理一般工作,绰绰有余.但有的时候, ...
随机推荐
- 360云盘、百度云、微云……为什么不出 OS X(Mac 端)应用呢?(用户少,开发成本高)(百度网盘Mac版2016.10.18横空出世)
已经说的很好了,现有的云盘所谓的 OS X 版只有云同步功能,不过 115 是个例外,不过 115 的现状……不言自明.接下来说点和本题答案无关的,其实在官方客户端流氓 + 限速的大背景下 OS X ...
- C++:静态成员
3.7.1 静态数据成员对象是类的一个实例,每个对象都具有自己的数据成员.例如,学生类张三或李四都具有自己的学号,姓名和平均成绩.在实际使用时,常常还需要一些其他的数据项,比如学生人数.总成绩.平均成 ...
- 【转载】git/github初级运用自如
之前了解过github,并在上面看了一些项目的源代码,于是自己也在github上创建了账户,希望以后有机会也把自己的项目托管在上面去.但是前提你要先了解git/github,下面的内容是从我的好基友虫 ...
- ProgressBar 示例及自定义样式
在layout中使用ProgerssBar,其中使用了自定义的样式 <ProgressBar android:id="@+id/footer_refresh_prgs" st ...
- [HDOJ2473]Junk-Mail Filter(并查集,删除操作,马甲)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2473 给两个操作:M X Y:将X和Y看成一类. S X:将X单独划归成一类. 最后问的是有多少类. ...
- 查看mssql死锁的详细信息(存储过程)
CREATE procedure [dbo].[sp_who_lock]asbegindeclare @spid int,@bl int, @intTransactionCountOn ...
- android截屏:保存一个view的内容为图片并存放到SD卡
项目中偶尔会用到截屏分享,于是就有了下面这个截屏的方法~ 下面得saveImage()方法就是保存当前Activity对应的屏幕所有内容的截屏保存. private void saveImage() ...
- Struts2注解配置之@Namespace(四)
今天开始学习@Namespace注解. 还是先看一段代码: package com.example.actions; import org.apache.struts2.convention.anno ...
- BZOJ_1629_[Usaco2007_Demo]_Cow_Acrobats_(贪心)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1629 \(n\)头牛叠罗汉.第\(i\)头牛的力量为\(s_i\),重量为\(w_i\),危险 ...
- UVALive 5713 Qin Shi Huang's National Road System(次小生成树)
题意:对于已知的网络构建道路,使城市两两之间能够互相到达.其中一条道路是可以免费修建的,问需要修建的总长度B与免费修建的道路所连接的两城市的人口之和A的比值A/B最大是多少. 因为是求A/B的最大值, ...