第9章 图形用户界面(GUI)设计

单词和缩写

  GUI(Graphic User Interface)

  Components Containers Layouts

  Frame Panel Button Label event

 DSN(Data Sequence Number)

9.1 GUI 图形用户界面设计概述(P184)

 * 图形用户界面基本元件(组件)

   应用程序框架(Frame)   面板(Panel)

   按钮(Button)          标签(Label)

   画板(Canvas)          滚动条(Scrollbar)

   列表框(List)             文本域(Text Field)

   文本区(Text Area)     菜单(Menu)

 * 控制组件的基本使用

   激活组件(action)     禁用组件(disable)

   启用组件(enable)     处理事件(handleEvent)

   隐藏组件(hide)       当前坐标(location)

   单击鼠标(mouseDown)  拖动鼠标(mouseDrag)

   移动组件(move)       重置组件(repaint)

   重置尺寸(resize)     组件背景色(setBackground)

   设置字型(setFont)    组件前景色(setForeground)

   显示组件(show)

9.3 常用 Swing 组件

9.3.1 容器组件(P194)

 1. 应用程序框架

 应用程序(Application):

    框架(Frame):带标题的顶层窗口。

  Frame 类构造方法:

  Frame(String title)  // 给定窗口标题

  显示框架窗口:使用 Frame 类的父类 Windows 类中的show()方法。

[实例]

  import java.awt.*;

  public class myFrame extends Frame{ 

  // 创建继承 Frame 的窗口类

    public myFrame(){   // 定义方法

       .............

    }

    public static void main(String[] args){

      myFrame mF = new myFrame(); // 实例化一个窗口

      mF.setSize(777,555);

      mF.show();

    }

  }

* 在 VJ++6.0 环境中创建源程序:

   Applications 应用程序:编译生成 .exe 文件,

   运行时有独立的窗口,使用 Form1 模板中的关闭窗口方法。

  public boolean handleEvent(Event e){ 

  switch(e.id){

  case Event.WINDOW_DESTROY:System.exit(0);return true;

  default:return false;

   }

  }

   例如:正弦波 F:\JAVA\jv_zxb.java

    File--New project--Applications 文件夹的

  Windows Application—工程名jv_zxb,路径F:\JAVA—打开—

   Project Explorer 窗口:Form1.java 改 jv_zxb.java—

   打开jv_zxb.java—编辑源程序—Build菜单—Build—

  指定主类 'Form1' 未发现;

  debug 菜单—Start winthout debugging --launch 启动卡—

  选取自定义选项 costom—编译生成类文件(.class)—

  调试 Debug--Start--生成 .exe 文件。

 

 2. 面板

 1)面板(Panel):构成 Java 小程序(Applet)主窗口。

 2)Java 小程序实例 zxb.htm 代码 zxb_dm.htm

 3)在 VJ++6.0 环境中创建 Applet 小程序

  Applet 小程序:编译生成 .class 文件,插入网页中,

  浏览时包含在浏览器窗口中。

   例如:正弦波 F:\JAVA\zxb.java

     File--New project--Web Page 文件夹的 Applet on HTML—

   工程名zxb.java,路径F:\JAVA—打开—

   Project Explorer 窗口:Applet1.java 改 zxb.java—

   打开zxb.java—编辑源程序—Build菜单—Build—

  编译生成类文件(.class)—调试Debug--Start--

   浏览器窗口Page1.htm—查看—源文件—Applet1.class改zxb.class。

9.3.10 菜单(P214)

菜单(Menu)

菜单栏(MenuBar)

主菜单(Menu)

 

文件

 

图形

 

帮助

子菜单(MenuItem) 新建

打开

保存

关闭

退出

时钟

彩条

正弦

花叶

 

 * 设置窗口菜单

  创建窗口框架—创建菜单栏—创建主菜单—创建子菜单—

  子菜单添加到—主菜单添加到—菜单栏添加到—窗口框架—

  显示窗口框架。

 

[示例]

  Frame myFrame =new Frame("my Frame");     //创建窗口框架

  MenuBar MenuBar = new MenuBar();              //创建菜单栏

  Menu myMenu = new myMenu("文件");             //创建主菜单

  MenuItem myMenuItem = new myMenuItem("打开"); //创建子菜单

 

  myMenu.add(myMenuItem);                 // 把子菜单添加到主菜单

  MenuBar.add(myMenu);                       // 把主菜单添加到菜单栏

  myFrame.setMenuBar(MenuBar);       // 把菜单栏添加到窗口框架

 * 各种 AWT 组件实例

 1.设置窗口菜单

   子菜单—主菜单—菜单栏—窗口框架。

 2.设置窗口面板

   按钮—面板—窗口框架。

 [实例] Java 菜单 jvcd.exe,代码 jvcd_dm.htm

9.4 鼠标和键盘事件(P221)

  事件(event)处理

  事件源(source)和事件监听(listeners)之间的交互。

 典型组件事件处理

 [实例] 菜单事件应用程序

 实现菜单退出事件:

 定义退出子菜单项—监听菜单事件—调用处理程序—处理菜单事件。

  Java 菜单 jvcd.exe,代码 jvcd_dm.htm

   MenuItem MenuFileExit = new MenuItem();      // 定义退出子菜单项

   MenuFileExit.addActionListener

   (new java.awt.event.ActionListener(){

   public void actionPerformed(ActionEvent e){  //监听菜单事件

   MenuFileExit_actionPerformed(e);             //调用处理程序

      }

    });

   void MenuFileExit_actionPerformed(ActionEvent e){

   System.exit(0);                              //处理菜单事件

   }

 

第10章 Java 的多线程

 1.CPU 时间分割

  实现同时运行多任务、多线程。

——————| ——————| ——————| ————————| ——————|→t
子任务1/线程1 子任务2/线程2 子任务3/线程3
任务1/进程1/程序1 任务2/进程2/程序2 任务3/进程3/程序3

 2.多任务:操作系统能同时运行多个进程。

   一个进程可以同时执行多个线程。

 3.多线程:程序分割成多个独立的程序段作为子任务。

 sleep()线程休眠方法(P )

  public void run(){

    Thread.sleep(1000);

  }

  线程休眠 1000 毫秒。

 

第11章 Java 多媒体技术

 图形和图像处理

 设置图形颜色

[实例 ] 变色彩条(P )

 绘制图形实例

[实例 ] 画图工具(P )

 图像文件显示

[实例 ] 彩条图像(P )

11.2 动画

 动态显示图像

时钟针转一周360°,时钟针每秒转过的角度:

秒针 6(度/秒),分针 0.1(度/秒),时针 1/120(度/秒)。

 

第12章 Java 应用实例

3

构造 Java 应用程序

和 小程序框架

ckkj ckkj_dm

apkj

4

动态演示正弦波的

Java 小程序

zxb_s

5

动态演示几种正弦波的

Java 应用程序

jzxb jzxb_dm zfzxb
6

Java 特效

无限星空:wxxk.class、xgss.htm(gif)

烟花怒放:yhnf.class

Java Applet: 雪花飘飘 xhpp_Apl 圆窗方点

Java Script: xhpp xhpp_scr xhpp-dm 怎么办

夜景真美 天女散花 花花飘飘 相片飘飘 飞向何方

网络飘飘 五星飘飘 qqpp mypp

日期时间

北京时间:bjsj bjsj_e

电影序幕 dyxm

万年日历:wyrl

7

跟随鼠标特效

文字跟随鼠标 wzgsb

时钟跟随鼠标 szgsb

  文字特效 旋转文字 波动文字 七彩文字

 

Java 菜单应用程序

jvcd.exe jvcd_dm

8

动态演示

Java 语言图形程序设计 

jtcs.exe jtcs.htm jtcs1.exe jtcs1.htm

双0图形 s0tx.htm 双8图形 睁大眼睛

排列组合 xxbx_plzh sin_cos

 

变色彩条

彩条图像

bsct1.htm  bsct1_dm

cttx.htm  cttx1.htm

9

画图工具 htgj.exe htgj_dm hztxcx.htm
10 日历时钟 rlsz szys
11 网络编程:测主机名 wlbc