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)做个小程序玩玩吧。。。