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

上一篇:解决 Eclipse Indigo 3.7、ADT 中文字体偏小,完美 Consolas 微软雅黑混合字体!


下一篇:图像开发的p2s模式:halcon+opencv的联动