《Java程序设计》实验指导书(8)

2018-12-21 13:52

3. 在命令提示符窗口运行 KY6_2.class 文件,并输入 1234

(三)使用日期类

Java 提供了3 个日期类:Date、Calendar 和DateFormat。其中,Date 类主要用于创建日期对象并获取日期,Calendar 类可获取和设置日期,DateFormat 类用来设置日期的格式。

Java 程序设计规定的基准日期为1970.1.1 00:00:00 格林威治(GMT)标准时间,当前日期是由基准 日期开始所经历的毫秒数转换出来的。

1. 使用日期类的Applate 应用程序 ? 程序功能:说明3 个日期类Date、Calendar 和DateFormat 的使用方式及显示的样式。 ? 编写KY5_9.java 程序文件,源代码如下。

import java.text.*; import java.util.*; import java.awt.*; import java.applet.*;

public class KY5_9 extends Applet { public void paint(Graphics g) { Date today; Calendar now; DateFormat f1,f2; String s1,s2;

today=new Date(); // 获取系统当前日期

g.drawString(\字符串格式:\93

f1=DateFormat.getInstance(); // 以默认格式生成格式化器 s1=f1.format(today); // 将日期转换为字符串 g.drawString(\系统格式:\// 生成长格式的中国日期格式化器

f1=DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA); // 生成长格式的中国时间格式化器

f2=DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA); s1=f1.format(today); // 将日期转换为日期字符串 s2=f2.format(today); // 将日期转换为时间字符串 g.drawString(\中国格式:\now=Calendar.getInstance(); // 获取系统时间

s1=now.get(now.HOUR)+\时\分\+now.get(now.SECOND)+\秒\

g.drawString(\调整前时间:\now.set(2004,8,15,9,9,9); today=now.getTime();

g.drawString(\调整后时间:\} } ? 编译程序文件。 ? 在浏览器中打开包含应用程序的页面文件

- 34 -

2. 在独立运行的应用程序中使用日期函数。 ? 程序功能:补充说明3 个日期类Date、Calendar 和DateFormat 的使用方式及显示的样式。 ? 编写KY5_10.java 程序文件,源代码如下。

import java.util.*; import java.text.*; public class KY5_10 {

public static void main (String args[]) {

Date today = new Date(); //当前日期和时间 SimpleDateFormat sdf;

sdf= new SimpleDateFormat(\年MM 月dd 日hh 时mm 分ss 秒 a EEEEE\System.out.println(\当前日期和时间: \long hms=System.currentTimeMillis(); //当前时间的毫秒数 System.out.println(\当前时间的毫秒数=\Date tomorrow = new Date(hms+24*60*60*1000); System.out.println(\明天是\Calendar now = Calendar.getInstance(); int year =now.get(Calendar.YEAR); //年份

int month=now.get(Calendar.MONTH)+1; //月份 int day = now.get(Calendar.DATE); //日期

System.out.print(\今天是\年\月\日\int week = now.get(Calendar.DAY_OF_WEEK); //星期 switch (week) {

case 1: System.out.println(\星期日\case 2: System.out.println(\星期一\case 3: System.out.println(\星期二\case 4: System.out.println(\星期三\case 5: System.out.println(\星期四\case 6: System.out.println(\星期五\case 7: System.out.println(\星期六\} } } ? 编译并运行程序

- 35 -

实验 7 建立图形用户界面

一、实验目的

了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用 Java 的事件处理机制。

二、实验要求

1. 掌握在 Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。 2. 理解 Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 了解 Java Swing 组件的使用方法。 5. 了解对话框的使用方法。

三、实验内容

(一)创建图形用户界面

图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图 形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。

1. 在Applet 中添加标签、按钮并使用网格布局 ? 程序功能:在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中

的位置。 ? 编写KY7_1.java 程序文件,源代码如下。

import java.awt.*;

import java.applet.Applet;

public class KY6_1 extends Applet { Label l1;

Button b1, b2, b3, b4, b5, b6; public void init() {

setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格) l1=new Label(\标签1\b1 = new Button(\按钮1\b2 = new Button(\按钮2\b3 = new Button(\按钮3\b4 = new Button(\按钮4\add(l1);

- 36 -

add(b1); add(b2); add(b3);

add(new Label()); add(b4);

add(new Button(\按钮5\add( new Button(\按钮6\add(new Label(\标签2\} } ? 编译程序KY7_1.java。 ? 编写显示Applet 的页面文件KY7_1.html 2. 在面板中添加组件 ? 程序功能:在Applet 中添加面板容器,并分别在Applet、面板容器中添加组件并使用不同的

布局管理方式。 ? 编写KY7_2.java 程序文件,源代码如下。

import java.awt.*; import java.awt.Color; import java.applet.Applet;

public class KY6_2 extends Applet { public void init() {

//设置最底层的 Applet 容器为顺序布局

setFont(new Font(\

Label l=new Label(\这是最底层的 Applet 容器中的标签\add(l);

Panel panel1=new Panel(); add( panel1);

panel1.setBackground(Color.blue); panel1.setForeground(Color.red);

panel1.setLayout(new BorderLayout());//设置边界布局 panel1.add(\北\panel1.add(\南\panel1.add(\东\panel1.add(\西\

panel1.add(\这是在 Panel1 面板 中部添加的标签\Panel panel2=new Panel(); add( panel2);

panel2.setLayout(new GridLayout(3,1)); //设置网格布局 Choice c=new Choice ();//创建下拉式列表 c.addItem(\北京\c.addItem(\上海\c.addItem(\天津\

Label l1=new Label(\这是在 Panel2 面板中的标签\Button b1=new Button(\中的按钮\panel2.setBackground(Color.green); panel2.add(l1);

- 37 -

100

panel2.add(b1); panel2.add(c); } }

? ?

编译程序KY7_2.java。

编写显示Applet 的页面文件KY7_2.html

(二)了解事件处理机制

在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。例如,用户单击了一个按钮,意味着发生了按钮的单击事件;选中下拉框中的一个选项,意味着发生了一个选项事件。在Java 中能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。

1. 单击按钮的事件处理程序 ? 程序功能:使用手工布局设置组件标签、按钮的位置,为按钮编写单击事件处理方法。当用

户用鼠标单击按钮时,会听到一声响声。 ? 编写KY7_3.java 程序文件,源代码如下。

import java.awt.*;

import java.awt.event.*; import java.applet.Applet;

public class KY6_3 extends Applet implements ActionListener { // 实现动作事件监听 接口

public void init() {

setLayout(null);//关闭默认的顺序管理布局

Label l=new Label(\按一下按钮可听到响声!\add(l);

l.setBounds(40,10,150,30); Button b=new Button(\按钮\add(b);

b.setBounds(60,50,60,40);

b.addActionListener (this); // 注册事件源的动作监听者 }

public void actionPerformed(ActionEvent e) {//实现单击事件接口的方法 Toolkit.getDefaultToolkit ().beep(); //单击事件发生时作出的反应 } } ? 编译程序KY7_2.java ? 编写显示Applet 的页面文件KY7_3.html 2. 选择复选框和单选框按钮的事件处理程序 ? 程序功能:在Applte 上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用

户输入的10 进制数,选择不同选项可转换为2、8、16 进制数。 ? 编写KY7_4.java 程序文件,源代码如下。

- 38 -


《Java程序设计》实验指导书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《机械基础》课程复习试题 项目三:机械链接

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: