当前位置:文档之家› 第七章 Java图形用户界面练习

第七章 Java图形用户界面练习

第七章 Java图形用户界面练习
第七章 Java图形用户界面练习

第七章图形用户界面

在应用程序开发中,友好的用户界面是一个最基本的要求,本章将使用Java中提供的java.AWT和javax.Swing类包中有关组件设计用户界面。

7.1 实验一:一般用户界面的实现

实验目的

(1). 了解AWT和Swing常用容器组件和基本组件的作用和功能。

(2). 了解各类布局管理器的作用和功能。

(3). 使用各类布局管理器和组件创建程序的图形用户界面。

实验要求

使用java.AWT和javax.Swing类包中提供了设计用户界面的各种组件,诸如Frame、JFrame、Panel、JPanel等容器组件、TextField、JTextField、Label、JLabel、Button、JButton 等基本组件等,编写程序创建并实现简洁明了的用户界面。

实验内容

使用AWT和Swing组件创建一般的应用程序用户界面。

实验示例7.1.1在前边定义了公司的职员信息类,成员变量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、address(居住地)和number(职员号),设计一个录入或显示职工信息的程序界面(以FlowSaylout布局安排组件)。

实现该示例的步骤如下:

⑴简要分析

可以采用Frame容器组件构建用户界面,使用Label组件显示标识,使用TextField组件输入或显示个人信息,使用Button组件确定诸如输入、显示或退出操作。

可以建立一个Frame类的派生类EmployeeMess来完成用户界面的构建。

⑵根据上述简要分析,给出如下参考程序代码(EmployeeMess.java):

/*公司职员信息界面程序 EmployeeMess.java

*使用AWT组件构建,采用FlowLayout布局

*/

图7-1 示例7.1.1用户界面

import java.awt.*;

public class EmployeeMess extends Frame

{

TextField ID = new TextField(18);

TextField name = new TextField(10);

TextField birthday = new TextField(10);

TextField sex = new TextField(2);

TextField home = new TextField(18);

TextField address = new TextField(18);

TextField brithday = new TextField(10);

TextField number = new TextField(5);

Button oprate = new Button("操作");

Button exit = new Button("退出");

public EmployeeMess()

{

super("公司职员信息");

this.setLayout(new FlowLayout());

this.add(new Label("身份证号码")); //把组件加入到框架窗口中

this.add(ID);

this.add(new Label("姓名"));

this.add(name);

this.add(new Label("性别"));

this.add(sex);

this.add(new Label("出生日期"));

this.add(birthday);

this.add(new Label("籍贯"));

this.add(home);

this.add(new Label("居住地"));

this.add(address);

this.add(new Label("职工号"));

this.add(number);

this.add(oprate);

this.add(exit);

this.pack();//按合适大小显示对象

this.setVisible(true); //设置组件是可见的

}

} ⑶ 编译EmployeeMess.java 程序,生成EmployeeMess.class 类文件,以供其他应用程序所用。

⑷ 程序及分析

程序中使用了AWT 组件来构建用户界

面,在Frame 容器上摆放Label 、TextField 和

Button 组件,由于采用了FlowLayout 布局,所以布局在容器上组件的大小不会随容器大小的改变而改变,而组件所在的行会改变。

⑸ 测试EmployeeMess 类的功能。编写一个简单的应用程序,创建EmployeeMess 对象,验证EmployeeMess 的功能。参考代码如下:

public class TestEmployeeMess

{

public static void main( String[] args )

{

new EmployeeMess();

}

图7-2 示例7.1.2程序界面

} 编译并运行测试程序,用户界面经鼠标拖动改变大小后,如图7-1所示。

注意:该程序不能正常退出,只能强行退出。

自由练习7.1 仿照实验示例7.1.1,设计一个录入或显示学生信息的程序界面。学生信息量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、number(学号)和result (入学成绩),以FlowSaylout 布局安排组件。

实验示例7.1.2 编程实现一个如图7-2的小

学生习题训练用户界面。

实现该示例的步骤如下:

⑴ 简要分析

为了使该界面应用于其他程序,可以使用JPanel 组件构建界面。根据要求该界面有3行组成:第一行由一个标签(JLabel )和一个按钮

(JButton )组件构成;第二行可以由4个标签(分别表示两个运算数、运算符号和等号)和一个文本框(JTextField )组件构成;第3行由一个按钮构成。

由上所述,由于第1行和第2行含有多个组件,可以将它们分别以FlowLayout 流布局放在JPanel 容器中。这样就可以GridLayout 布局按3行的形式将所有组件摆放到界面上。

⑵ 根据上述简要分析,可以给出如下参考程序代码(StudentSreen.java):

/* 小学生训练题界面

* StudentScreen.java

*/

import java.awt.*;

import javax.swing.*;

public class StudentScreen extends JPanel

{

JLabel num1=new JLabel("0 "); //显示第1个运算数

JLabel num2=new JLabel("0 "); //显示第2个运算数

JLabel op=new JLabel("+"); //显示运算符号

JLabel info=new JLabel("测试时间10分钟,按'开始'键开始!");

JTextField answer=new JTextField(10); //输入运算结果

JButton next = new JButton("下一题"); //操作按钮

JButton start = new JButton("开始"); //操作按钮

JPanel pan1=new JPanel();

JPanel pan2=new JPanel();

JPanel pan3=new JPanel();

public StudentScreen()

{

setLayout(new GridLayout(3,1));

pan1.add(info); //将第1行的组件放在pan1容器中

pan1.add(start);//……………………

pan2.add(num1); //将第2行的组件放在pan2容器中

pan2.add(op); //……………………

pan2.add(num2); //……………………

pan2.add(new JLabel("="));//……………………

pan2.add(answer); //……………………

add(pan1); //将pan1(第1行的组件)摆放在界面上

add(pan2); //将pan2(第2行的组件)摆放在界面上

add(next); ////将next按钮(第3行的组件)摆放在界面上

}

}

⑶编译StudentSreen.java程序,生成StudentSreen.class类文件,以供其他应用程序所用。

⑷程序及分析

本程序使用swing组件构建用户屏幕,采用JPanel容器嵌套JPanel容器的方式,目的是该界面可以添加到Frame或JFrame容器上,为其他程序所用。

⑸测试StudentSreen类的功能。编写一个简单的应用程序,将StudentSreen对象添加到JFrame窗口上,验证StudentSreen的功能。参考代码如下:

import javax.swing.*;

public class TestStudentScreen extends JFrame

{

TestStudentScreen()

{

add(new StudentScreen());

setVisible(true);

pack();

setDefaultCloseOperation(3);

}

public static void main(String [] args)

{

new TestStudentScreen();

}

}

编译并执行该程序,观看程序的界面效果。

实验示例7.1.3 在实验示例7.1.1中设计的用户界面,是用FlowSayout布局组件的,组件的大小不随容器的变化而变化,布局有些不太整齐,修改此用户界面,改用GridLayout 布局,使界面整洁一些。

实现该示例的步骤如下:

⑴简要分析

为了界面的整洁性,可以使用Swing组件构建用户界面,为了使该界面能部署在JFrame 窗体容器上,采用JPanel容器来构建用户界面屏幕,并在JPanel容器中嵌套两个JPanel 容器,一个JPanel容器上布局用于显示标识的Label组件和输入或显示个人信息的TextField 组件,以一行四列的形式摆放组件;另一个JPanel容器上布局Button组件,以一行两列的形式摆放。

⑵根据上述简要分析,给出如下参考程序代码(EmployeeMess2.java):

/*公司职员信息界面程序 EmployeeMess2.java

*使用Swing组件构建,采用GridLayout布局

*/

import java.awt.*;

import javax.swing.*;

public class EmployeeMess2 extends JPanel

{

JTextField ID = new JTextField(18);

JTextField name = new JTextField(10);

JTextField birthday = new JTextField(10);

JTextField sex = new JTextField(2);

JTextField home = new JTextField(18);

JTextField address = new JTextField(18);

JTextField number = new JTextField(5);

JButton oprate = new JButton("操作");

JButton exit = new JButton("退出");

JPanel jp1=new JPanel();

JPanel jp2=new JPanel();

public EmployeeMess2()

{

this.setLayout(new GridLayout(2,1));//设置JPanel容器上组件布局为2行1列 jp1.setLayout(new GridLayout(0,4)); //设置jp1容器上组件的布局为n行4列 jp1.add(new JLabel("身份证号码")); //把组件加入jp2容器中

jp1.add(ID); //..................

jp1.add(new JLabel("姓名")); //..................

jp1.add(name); //..................

jp1.add(new JLabel("性别")); //..................

jp1.add(sex); //..................

jp1.add(new JLabel("出生日期")); //..................

jp1.add(birthday); //..................

jp1.add(new JLabel("籍贯")); //..................

jp1.add(home); //..................

jp1.add(new JLabel("居住地")); //..................

jp1.add(address); //..................

jp1.add(new JLabel("职工号")); //..................

jp1.add(number); //..................

jp2.setLayout(new GridLayout(1,2)); //设置jp2容器上组件的布局为1行2列 jp2.add(oprate); //将按钮添加到jp2容器上

jp2.add(exit); //.....................

this.add(jp1); //将jp1放入当前容器中

this.add(jp2); //............................

this.setSize(200,200);

}

}

⑶编译EmployeeMess2.java程序,生成EmployeeMess2.class类文件,以供其他应用程序所用。

⑷程序及分析

程序中使用了swing组件来构建用户界面,在JPanel容器上嵌套摆放了两个JPanel容器组件,在两个Jpanel容器上分别布局了表示职工信息的组件和操作按钮组件。

由于全部采用了GridLayout布局,所以嵌套在JPanel容器上的两个JPanel组件的大小是一样的,同样布局在第一个JPanel容器上的所有组件其大小是一样,而布局在第二个JPanel容器上的两个按钮其大小也是一样的。它们会随界面大小的改变而改变,而组件所在的行不会改变。

⑸测试EmployeeMess2类的功能。编写一个

简单的应用程序,创建一个JFrame窗口对象,将

EmployeeMess2对象添加到JFrame窗口上,验证

EmployeeMess2的功能。参考代码如下:

import javax.swing.*;

public class TestEmployeeMess2

{

public static void main( String[] args )

图7-3 示例7.1.3 用户界面

{

JFrame f1=new JFrame();

f1.add(new EmployeeMess2());

f1.setTitle("公司职员信息");

f1.pack();

f1.setVisible(true);

f1.setDefaultCloseOperation(3);

}

}

编译并运行测试程序,用户界面经鼠标拖动改变大小后,如图7-3所示。

自由练习7.2 修改自由练习7.1,按GridLayout方式布局屏幕。运行并观看屏幕显示效果。

实验示例7.1.4 职工食堂为了方便职工就餐,进行了一次“我所喜爱的主食和副食”调查,调查表中列出了一些食堂经营的主食和副食类,经营者将调查表发给各位职工,让他们推荐自己喜欢的主食和副食。经营者将根据调查结果确定其经营方向。试创建一个调查表式的选项界面。

实现该示例的步骤如下:

⑴简要分析

可以把主食类和副食类分开,主食类包括米饭、馒头、卤面、涝面、包子、水饺等;副食类可分为菜类和汤类,菜类包括红烧肉、酱排骨、卤鸡、烧鸭、烧鱼、炒青菜、炒豆芽、烧茄尖等;汤类包括西红柿蛋汤、虾仁蛋汤、白木耳甜汤、玉米甜汤等。

可以设计这样一个界面,按照主食、菜类和汤类划分,可以分别将它们放入Checkbox 选择框中布局在界面上供选择。

⑵根据上述简要分析,给出如下参考程序代码(EealMenu.java):

//我所喜爱的主食和副食调查表程序MealMenu.java

import java.awt.*;

import javax.swing.*;

public class MealMenu extends JFrame

{

Checkbox [] sele1 = new Checkbox[6];

Checkbox [] sele2 = new Checkbox[8];

Checkbox [] sele3 = new Checkbox[4];

JPanel panel1 = new JPanel();

JPanel panel2 = new JPanel();

JPanel panel3 = new JPanel();

JPanel panel4 = new JPanel();

JButton ok = new JButton("确定");

JButton exit = new JButton("退出");

JLabel lab = new JLabel("请选择你所喜欢的美食菜肴!!!");

MealMenu()

{

super("请选择你所喜欢的食品调查表"); //调用父类构造器,设置标题栏

sele1[0]=new Checkbox("米饭"); //加入主食选择菜单项

sele1[1]=new Checkbox("馒头");

sele1[2]=new Checkbox("卤面");

sele1[3]=new Checkbox("涝面");

sele1[4]=new Checkbox("包子");

sele1[5]=new Checkbox("水饺");

sele2[0]=new Checkbox("红烧肉"); //加入副食菜类选择菜单项

sele2[1]=new Checkbox("酱排骨");

sele2[2]=new Checkbox("卤鸡");

sele2[3]=new Checkbox("烧鸭");

sele2[4]=new Checkbox("烧鱼");

sele2[5]=new Checkbox("炒青菜");

sele2[6]=new Checkbox("炒豆芽");

sele2[7]=new Checkbox("烧茄尖");

sele3[0]=new Checkbox("西红柿蛋汤"); //加入副食汤类选择菜单项

sele3[1]=new Checkbox("虾仁蛋汤");

sele3[2]=new Checkbox("白木耳甜汤");

sele3[3]=new Checkbox("玉米甜汤");

panel1.setBackground(Color.white); //设置容器panel1背景

for(int i=0; i

panel3.setBackground(Color.pink); //设置容器panel2背景

for(int i=0; i

for(int i=0; i

panel4.add(ok); //将按钮项加入到panel4容器中

panel4.add(exit); //.........................

Container pane=this.getContentPane(); //获得界面容器

pane.setLayout(new GridLayout(5,1)); //界面容器布局5行1列

pane.add(lab); //将标签项放入界面容器

pane.add(panel1); //将panen1放入界面容器

pane.add(panel2); //将panen2放入界面容器

pane.add(panel3); //将panen3放入界面容器

pane.add(panel4); //将panen4放入界面容器

this.pack();

this.setVisible(true); //窗口上内容是可见的

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

}

⑶编译EealMenu.java程序,生成EealMenu.class类文件,以供其他应用程序所用。

⑷程序及分析

程序中使用了awt和swing组件来构建用户界面,使用了3个Checkbox组件数组存放各分类项,并分别将它们放入3个JPanel容器中(采用默认布局)。由于是一个选择信息用户界面,所以增设了两个按钮,也将它们放入一个JPanel容器中。最后按照GridLayout 布局,在用户界面(JFrame容器)上以每行一列的方式摆放各JPanel容器组件。

⑸测试EealMenu类的功能。编写一个简单的应用程序,创建EealMenu对象,验证EealMenu的功能。参考代码如下:

public class TestMealMenu

{

public static void main( String[] args )

{

new MealMenu();

}

}

编译并运行测试程序,执行结果如图7-4所

示。

图7-4 示例7.1.4 用户界面

自由练习7.3 仿照上边程序,创建一个学生选择下学期课程的选课屏幕界面。

7.2 实验二:菜单

实验目的

(1). 了解菜单栏(JmenuBar)、菜单(Jmenu)和菜单项(JmenuItem)的功能和作用。

(2). 使用JmenuBar、Jmenu和JMenuItem 类创建菜单。

实验要求

使用java.AWT和javax.swing类包中提供JmenuBar、Jmenu、JmenuItem及相关的组件编写程序创建并实现简洁明了的菜单用户界面。

实验内容

实验示例7.2.1 创建一个公司员工基本信息管理的菜单用户界面。

实现该示例的步骤如下:

⑴简要分析

一般来说,员工的基本信息管理可以包括登记员工信息、修改员工信息、查看员工信息、在员工调离后删除其信息等,此外还需要打印员工信息表以备案,有时还需要打印某个或某些员工的信息。对有些项目的说明提供帮助功能。

使用javax.swing类包中提供的JMenuBar、JMenu、JMenuItem功能将其划分为3个菜单:员工信息处理(添加个人信息、修改个人信息、查看个人信息、删除个人信息)、打印处理(打印所有信息、打印指定信息、打印指定员工的信息)和帮助信息。

⑵根据上述简要分析,给出如下参考程序代码(EmployeelMenu.java):

/*这是一个公司职员信息管理的菜单界面

*程序的名字是EmployeeMenu.prg

*/

import javax.swing.*;

public class EmployeeMenu extends JFrame

{

JMenuBar empBar=new JMenuBar(); //定义菜单栏对象

JMenu mess = new JMenu("员工信息处理"); //定义员工信息处理菜单对象

JMenuItem addMess = new JMenuItem ("添加个人信息"); //定义菜单项对象

JMenuItem editMess = new JMenuItem ("修改个人信息"); //...

JMenuItem checkMess = new JMenuItem ("查看个人信息"); //...

JMenuItem delMess = new JMenuItem ("删除个人信息"); //...

JMenu prtMess=new JMenu("打印处理"); //定义打印处理菜单对象

JMenuItem prt_all=new JMenuItem("打印所有信息"); //定义菜单项对象

图7-5 示例7.2.1 用户界面 JMenuItem prt_part=new JMenuItem("打印指定信息"); //...

JMenuItem prt_one=new JMenuItem("打印指定员工的信息"); //...

JMenu help=new JMenu("帮助"); //定义帮助菜单对象

JMenuItem info=new JMenuItem("关于帮助"); //定义菜单项对象

JMenuItem subject=new JMenuItem("帮助主题"); //....

JMenu exit = new JMenu("退出"); //定义结束菜单对象

public EmployeeMenu() //构造方法

{

this.setTitle("公司员工信息处理"); //设置框架窗体标题

/* 以下把文件菜单项加入到Mess 菜单中*/

mess.add(addMess);

mess.add(editMess);

mess.addSeparator();//添加分割条

mess.add(checkMess);

mess.add(delMess);

/* 以下把编辑菜单项加入到prtMess 菜单中*/

prtMess.add(prt_all);

prtMess.addSeparator();//添加分割条

prtMess.add(prt_part);

prtMess.addSeparator();//添加分割条

prtMess.add(prt_one);

/*以下把帮助菜单项加入到Help 菜单中*/

help.add(info);

help.add(subject);

/*以下把所有菜单加入到菜单栏中*/

empBar.add(mess);

empBar.add(prtMess);

empBar.add(help);

empBar.add(exit);

this.setJMenuBar(empBar); //将菜单栏加入框架窗口

this.setSize(300,200);

this.setVisible(true);

this.setDefaultCloseOperation(3);

}

} ⑶ 编译EmployeeMenu.java 程序,生成EmployeelMenu.class 类文件,以供其他应用程序所用。

⑷ 程序及分析

程序中使用了swing 中的JMenuBar 、JMenu 和JMenuItem 组件构建用户菜单界面。应该注意的是,本章的所有的实验示例只是创建了用户界面,并没有实现实际的功能,将在后边的章节中逐步实现其功能。

⑸ 测试EmployeelMenu 类的功能。编写一个简单的应用程序,创建EmployeelMenu 对象,验证EmployeeMenu 的功能。参考代码如下:

public class TestMenu

{

public static void main(String [] args)

{

new EmployeeMenu();

}

}

自由练习7.4 仿造实验示例7.2.1程序,创建一个学生信息处理菜单界面。

java图形界面之电子算盘

Java图形用户界面 院系: 计算机系姓名:后人好乘凉 一实验目的 ●使学生综合运用图形用户界面设计的概念; ●使学生熟悉使用中间面板,组成层次复杂的GUI界面; ●使学生掌握使用事件驱动编程; 二实验环境及实验准备 ●所需硬件环境为微机; ●所需软件环境为JDK、Eclipse; ●掌握Java下界面容器与基本组件的基本知识与应用; ●掌握Java下事件处理模型; ●掌握Java下图形绘制的方法; 三实验内容 (一)、设计实现电子算盘,并完成测试; [题目描述及要求] 给小朋友设计一个电子算盘。要求绘制电子算盘界面,设计并实现打珠算过程(界面参考如下图示)。 电子算盘参考界面示意 程序源代码: package calculator;

import java、awt、Color; //导入 import java、awt、GridLayout; import java、awt、Container; import javax、swing、JLabel; import javax、swing、JButton; import javax、swing、ImageIcon; import javax、swing、JPanel; import javax、swing、JFrame; import javax、swing、JTextField; import java、awt、event、*; public class Calculator extends JFrame{ public int totalNumber; public int t = 0; public boolean[] isAddFive = new boolean[5]; public int number[] = new int[5]; public ImageIcon picture = new ImageIcon(System、getProperty("user、 dir") + "/算珠、jpg" ); //添加图片 public ImageIcon picture1= new ImageIcon(System、getProperty("user、 dir") + "/算珠1、jpg" ); Container con = getContentPane(); JPanel j1 = new JPanel(); JPanel j2 = new JPanel(); JPanel j3 = new JPanel(); JPanel time=new JPanel(); JLabel q = new JLabel(); JLabel nA = new JLabel(); JLabel Time=new JLabel(new ImageIcon("、/时钟、jpg")); //添加时钟标签的图片 JTextField a = new JTextField(); JButton Buttons_1[][] = new JButton[2][5]; JButton Buttons_2[][] = new JButton[5][5]; GridLayout gl_1 = new GridLayout(2,5); GridLayout gl_2 = new GridLayout(5,5); GridLayout gl_3 =new GridLayout(); public Calculator() { super("电子算盘"); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100,100,600,400); setVisible(true); setLayout(null); AbacusPanel(); } public void AbacusPanel() // 算盘面板

第10章_图形用户界面(GUI)制作

第十章 图形用户界面(GUI )制作 10.1 入门 【例10.1-1】对于传递函数为121 2++=s s G ζ的归一化二阶系统,制作一个能绘制该系统 单位阶跃响应的图形用户界面。本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标网格控制键的形成;(D )如何使用该界面。 (1)产生图形窗和轴位框:如图10.1-1所示。 clf reset H=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H); str='\fontname{隶书}归一化二阶系统的阶跃响应曲线'; text(0.12,0.93,str,'fontsize',13); h_fig=get(H,'parent'); set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,... 'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8); 图 10.1-1 产生坐标轴 (2)在坐标框右侧生成作解释用的“静态文本”和可接收输入的“编辑框”:如图10.1-2所示。 h_text=uicontrol(h_fig,'style','text',... 'unit','normalized','position',[0.67,0.73,0.25,0.14],... 'horizontal','left','string',{'输入阻尼比系数','zeta ='}); h_edit=uicontrol(h_fig,'style','edit',... 'unit','normalized','position',[0.67,0.59,0.25,0.14],... 'horizontal','left',... 'callback',[... 'z=str2num(get(gcbo,''string''));',... 't=0:0.1:15;',...

java图形界面以及链接数据库

import java、awt、*; import java、awt、event、*; import javax、swing、*; import java、sql、*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,ScrollPaneConstants、VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants、HORIZONTAL_SCROLLBAR_NEVER); private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { jp、setLayout(null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("您"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) { jb[i]、setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { jp、add(jb[i]); } j1、setBounds(280,10,50,30); j2、setBounds(20,375,30,50); box、setBounds(55,385,80,30); j3、setBounds(160,375,40,50); text、setBounds(210,385,300,30); jb[3]、setBounds(520,365,75,50); js、setBounds(10,50,600,300); jp、add(j1); jp、add(j2);

java实验报告实验六Java图形用户界面

信息工程学院 Java程序设计实习报告 JAVA图形用户界面 实验六Java图形用户界面 1.实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握Java事件处理机制。 2.实验内容 实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: private void initComponents() { jButton1 = new javax、swing、JButton(); jButton2 = new javax、swing、JButton(); jButton3 = new javax、swing、JButton(); jButton4 = new javax、swing、JButton(); jButton5 = new javax、swing、JButton(); jButton6 = new javax、swing、JButton(); jButton7 = new javax、swing、JButton(); jButton8 = new javax、swing、JButton(); jButton9 = new javax、swing、JButton(); jButton10 = new javax、swing、JButton(); jButton11 = new javax、swing、JButton(); jButton12 = new javax、swing、JButton(); jButton13 = new javax、swing、JButton(); jButton14 = new javax、swing、JButton(); jButton15 = new javax、swing、JButton(); jTextField1 = new javax、swing、JTextField(); setStub(null); jButton1、setText("3"); jButton1、addActionListener(new java、awt、event、

java图形化界面练习及答案

作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分) 1. 下列属于容器的组件有 A. JButton B. JPane C. Canvas D. JTextArea 学生的答案: B 标准答案: B 该题分数: 学生得分: 分 2. 下列方法中,不属于WindowListener接口的是A. windowOpened() B.

windowClosed() C. windowActivated() D. windowAdapter 学生的答案: D 标准答案: D 该题分数: 学生得分: 分 3. 下列不属于Swing中组件的是( )。 A. JPanel B. JTable C. Menu D. JFrame 学生的答案: C 标准答案: C 该题分数:

学生得分: 分 4. 以下Swing组件中哪一个不是顶层容器组件( )。 A. 框架 B. 对话框 C. 面板 D. 小程序 学生的答案: C 标准答案: A 该题分数: 学生得分: 0分 5. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。 A. 创建两个单选框对象时定义相同的对象名 B. 将两个单选框对象放在同一个面板上

定义一个ButtonGroup对象group,将两个单选框对象加到group中D. 让两个单选框排成一行或一列 学生的答案: C 标准答案: C 该题分数: 学生得分: 分 6. 容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。 A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout 学生的答案: B 标准答案: B 该题分数: 学生得分: 分

第七章 图形用户界面设计-实验题目

第七章图形用户界面设计--实验题目 一、实验目的 1. 掌握GUI编程的基本概念。 2. 掌握基于Swing和AWT的图形用户界面的编程原理。 3. 理解容器和组件的概念,初步掌握事件编程的基本技巧。 4. 掌握Swing包中的基本组件和基本事件类。 5. 掌握常用布局管理器的使用。 二、实验内容 1.编写一个能够转换华氏温度和摄氏温度的程序。在“摄氏温度”文本域输入一个值并点击华氏按钮(两个按钮—摄氏按钮、华氏按钮),在华氏文本域显示相应的华氏温度。 反之,在“华氏文温度”文本域输入一个值,点击摄氏按钮,在摄氏文本域中显示相应的摄氏温度。 2.编写程序,使得当按下鼠标时显示鼠标的位置。 3.编写程序,界面上包括一个标签、一个文本框和一个按钮。当单击按钮时,程序把文本框中的内容复制到标签中。 4.编写满足下列要求的程序: (1)创建1个框架并将其内容窗格布局管理器设置为BorderLayout。 (2)创建2个面板并把它们添加到框架。 (3)每个面板包含3个按钮,面板使用BorderLayout布局管理器。 (4)单击按钮时,在控制台显示信息指明按钮被单击。 5.编写一个应用程序,实现如下图所示的图形界面.要求单击关闭按钮能够关闭窗口并结束程序运行。 6.编写一个应用程序,实现如下图所示的图形界面,要求单击按钮将窗口的背景颜色设置为相应的颜色。设置颜色可以调用容器的setBackground(Color c)方法,参数Color 可以使用java awt.Color类的常量,如Color.RED等。 7.编写一个应用程序,其外观是一个框架窗口,窗口中放置一个多行文本框,下方放置3个按钮,3个按钮名分别为“OK”、“Cancel”、“Exit”,鼠标单击前两个按钮,在文本框中显示按钮上文字,单击“Exit”按钮,关闭并退出程序。 8.编写一个应用程序,实现如下图所示的图形界面。要求在文本框中输入有关信息,单

java简单图形用户界面代码

package dsr; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.doczj.com/doc/e717114216.html,.Socket; public class Login extends JFrame implements ActionListener{ //定义组件 JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12; JButton loginBtn,registerBtn,cancalBtn; JLabel userLbl,passwordLbl,titleLbl; JTextField userTxt; JPasswordField passwordPwd; static String name; public Login () { super("用户登录"); northPanel=new JPanel(); southPanel=new JPanel(); centerPanel1=new JPanel(); centerPanel11=new JPanel(); centerPanel12=new JPanel(); //标题 titleLbl=new JLabel("欢迎进入考试系统"); titleLbl.setFont(new Font("隶书",Font.BOLD,24)); northPanel.add(titleLbl); this.add(northPanel,BorderLayout.NORTH); //中间部分 centerPanel1.setLayout(new BorderLayout()); userLbl=new JLabel("用户名"); userTxt=new JTextField(12); centerPanel11.add(userLbl); centerPanel11.add(userTxt); centerPanel1.add(centerPanel11,BorderLayout.NORTH); passwordLbl=new JLabel("密码"); passwordPwd=new JPasswordField(12); centerPanel12.add(passwordLbl); centerPanel12.add(passwordPwd);

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

第七章 Java图形用户界面练习汇编

第七章图形用户界面 在应用程序开发中,友好的用户界面是一个最基本的要求,本章将使用Java中提供的java.AWT和javax.Swing类包中有关组件设计用户界面。 7.1 实验一:一般用户界面的实现 实验目的 (1). 了解AWT和Swing常用容器组件和基本组件的作用和功能。 (2). 了解各类布局管理器的作用和功能。 (3). 使用各类布局管理器和组件创建程序的图形用户界面。 实验要求 使用java.AWT和javax.Swing类包中提供了设计用户界面的各种组件,诸如Frame、JFrame、Panel、JPanel等容器组件、TextField、JTextField、Label、JLabel、Button、JButton 等基本组件等,编写程序创建并实现简洁明了的用户界面。 实验内容 使用AWT和Swing组件创建一般的应用程序用户界面。 实验示例7.1.1在前边定义了公司的职员信息类,成员变量包括ID(身份证)、name(姓名)、sex(性别)、birthday(生日)、home(籍贯)、address(居住地)和number(职员号),设计一个录入或显示职工信息的程序界面(以FlowSaylout布局安排组件)。 实现该示例的步骤如下: ⑴简要分析 可以采用Frame容器组件构建用户界面,使用Label组件显示标识,使用TextField组件输入或显示个人信息,使用Button组件确定诸如输入、显示或退出操作。 可以建立一个Frame类的派生类EmployeeMess来完成用户界面的构建。 ⑵根据上述简要分析,给出如下参考程序代码(EmployeeMess.java): /*公司职员信息界面程序 EmployeeMess.java *使用AWT组件构建,采用FlowLayout布局 */

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

java图形界面以及链接数据库

import .*; import .*; import .*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,,; private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { (null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("你"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) {

jb[i].setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { (jb[i]); } (280,10,50,30); (20,375,30,50); (55,385,80,30); (160,375,40,50); (210,385,300,30); jb[3].setBounds(520,365,75,50); (10,50,600,300); (j1); (j2); (j3); (box); (text); (jb[3]); (js); for(int i=0;i<=3;i++) { jb[i].addActionListener(this); } (false); (true); ("留言内容:");

Java图形用户界面实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:图形用户界面 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:一、实验目的 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。 二、实验要求 1. 掌握使用布局管理器对组件进行管理的方法。

2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 掌握组件的使用方法。 5. 了解对话框的使用方法。 三、实验内容 (一)算术测试。 实验要求: 编写一个算术测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确; ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过 ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答 案;MainClass是软件的主类。 程序模板: public class Teacher { int numberOne,numberTwo; String operator=""; boolean right; public int giveNumberOne(int n) { numberOne=(int)()*n)+1; return numberOne; } public int giveNumberT wo(int n) { numberTwo=(int)()*n)+1; return numberTwo; } public String giveOperator() { double d=(); if(d>= operator="+"; else operator="-"; return operator; } public boolean getRight(int answer) { if("+")) { if(answer==numberOne+numberTwo) right=true; else right=false; }

实验三图形用户界面设计(汽院含答案解析)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地 进行交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK 用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图3.1 AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器:

FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵 CardLayout(卡片布局管理器):选项卡 GridBagLayout(网格包布局管理器):非规则的矩阵 3.类JFrame是java.awt.Frame 的扩展版本,该版本添加了对JFC/Swing 组件架 构的支持,常用方法如下: 1)JFrame() 该构造方法可以创建一个无标题的窗口,窗口的默认布局为 BorderLayout布局。 2)JFrame(String s) 该构造方法可以创建一个标题为s的窗口,窗口的默认布 局为BorderLayout布局。 3)public void setBounds(int a,int b,int width,int height) 窗口调用该方法 可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏 幕上方b个像素;窗口的宽是width,高是height。 4)public void setSize(int width,int height) 设置窗口的大小,窗口在屏幕出 现是默认位置是(0,0)。 5)public void setVisible(boolean b) 设置窗口是可见还是不可见,窗口默认 是不可见的。 6)public void setResizable(boolean b) 设置窗口是否可调整大小,窗口默认 是可调整大小的。 7)public void setDefaultCloseOperation(int operation) 设置用户在此窗体 上发起"close" 时默认执行的操作。 8)public void setLocationRelativeTo(Component c) 设置窗口相对于指定组 件的位置。如果组件当前未显示,或者c 为null,则此窗口将置于屏幕的 中央。 实验内容 1.图形用户界面设计程序(ArtFont.java) 要求:设计一个文字字体设置窗体,在该窗体中可以设置要显示文字的字体内容,包括字体名称、字体大小、粗体和斜体等字体风格。并模拟在不同操作系统下的显示效果。程序的最终显示效果如下: 提示:整个窗体继承于JFrame,采用BorderLayout布局。在窗体中添加三个JPanel:northPanel、centerPanel和southPanel,分别位于窗体的北部、中部和南部,然后分别在各个面板中添加其它组件,并逐步完善程序功能。

实验五 Java图形界面及多线程

实验五图形界面及多线程 【实验目的】 一、掌握Jpanel的使用方法; 二、掌握JAVA简单图形界面的设计; 三、掌握JAVA多线程控制。 【实验内容】 一、在一个Jpanel中显示一个小球,当点击鼠标时,开始移动小球;当小球撞到Jpanel的边框时,小球将反弹回去继续移动。小球用一个线程来控制其移动; 二、每点击一次鼠标,增加一个移动的小球,最多产生20个小球,随机选择小球的颜色; 三、增加功能,当两个小球相撞时,它们将各自反弹。 【实验结果】 //小球类 import java.awt.Color; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.util.Random; public class Ball { private double x; private double y; private double xR=30; private double yR=30; private double xMove; private double yMove; private Color color; private Ellipse2D shape; private static Random random=new Random(); public Ball(){ color=new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)); xMove=Math.cos(random.nextDouble()*6.24)*10;

java图形界面GUI基础入门

Compnent package https://www.doczj.com/doc/e717114216.html,pnent; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextArea; import javax.swing.JTextField; import cn.itcast.util.FrameUtil; /* 非容器组件: */ public class Demo1 { public static void main(String[] args) { JFrame frame= new JFrame("注册"); //创建一个面板 JPanel panel = new JPanel(); frame.add(panel); //用户名

JLabel nameLabel = new JLabel("用户名"); //用户名的输入框 JTextField nameField = new JTextField(12); //把用户名的组件添加到面板上 panel.add(nameLabel); panel.add(nameField); //密码 JLabel passLabel= new JLabel("密码"); //密码框 JPasswordField passField = new JPasswordField(12); //把密码的组件添加到面板 panel.add(passLabel); panel.add(passField); //性别--单选框 JLabel sexLabel = new JLabel("性别"); JRadioButton man = new JRadioButton("男",true); JRadioButton woman = new JRadioButton("女"); //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个 ButtonGroup group = new ButtonGroup(); group.add(woman); group.add(man); //把性别组件添加到面板上 panel.add(sexLabel); panel.add(man);

第10章applet和高级图形界面

第10章:applet和高级图形界面 学习目标 ?10.1 引言 ?10.2 Applet类 ?10.2.1 init()方法 ?10.2.2 start()方法 ?10.2.3 stop()方法 ?10.2.4 destroy()方法 ?10.9 鼠标事件 ?10.10 键盘事件 Applet 类 ?每个Java applet都是由java.applet.Applet类扩展而来的。Applet提供了一个基本框架结构,它可使applet通过Web浏览器来运行。 ?每个Java application都有一个main方法,它在application开始时被执行。与application不同,applet不需要main方法,它依靠浏览器调用方法。 ?每个applet都有一个如下的结构: public class MyApplet extends JApplet { public void init() { ... } public void start() { ... } public void stop() { ... } public void destroy() { ... } //your other methods } ?Web浏览器利用四种方法控制applet ?init() 方法 第一次装载或重装applet,都要调用init方法。 如果Applet的子类具有初始化的操作,就应该覆盖init方法。通常,该方法实现的功能包括:创建新的线程、装载图像、设置用户界面组建,以及从html网页的标记中获取参数。 ?start() 方法 init方法完成后,start方法就会被调用。再次访问包含applet的网页时,applet又被激活,还会调用start方法。 访问包含applet的web页时,只要执行一点操作,Applet子类就应该覆盖start方法。例如:包含动画的applet就需要使用start方法刷新动画。 ?stop() 方法 与start方法正好相反,start方法是在用户返回包含applet的网页时调用的,而stop方法是在用户离开网页是调用的。 当包含applet的web页不可见时,如果还有其他需要执行的操作,Applet子类就应该覆盖这一方法。当用户离开网页,applet已经开始但未完成的任何线程都将继续运行。这时,

实验九Java图形用户界面设计1

实验九Java图形用户界面设计(1) 一实验目的 (1)掌握Frame与面板的使用 (2)布局管理器的使用 (3)布局管理器的使用 (4)边界风格的使用 (5)掌握简单Java事件的处理 二实验内容 1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。采用FlowLayout布局管理器。 程序: import java.awt.*; import javax.swing.*; public class Con1{ private JFrame f; private JButton b1,b2,b3,b4,b5,b6,b7,b8; public static void main(String args[]){ Con1 c=new Con1(); c.go(); } public void go(){

f=new JFrame("My Frame"); Container con=f.getContentPane(); con.setLayout(new FlowLayout()); con.setBackground(Color.white); con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50)); b1=new JButton("按键1"); b2=new JButton("按键2"); b3=new JButton("按键3"); b4=new JButton("按键4"); b5=new JButton("按键5"); b6=new JButton("按键6"); b7=new JButton("按键7"); b8=new JButton("按键8"); con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4); con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8); f.setSize(1000,1000); f.setVisible(true); } } 结果:

matlab 第十章 图形用户界面GUI制作

第十章内容简介 本书由纸质媒体和电子媒体有机结合而成。纸质媒体便于读者进行系统、全面、长时间连续地阅读,便于随心的翻阅、浏览;而电子媒体向读者提供色彩信息、动态交互的软件环境,提供读者实践本书内容所需的各种文件。 本书第一章系统讲述MATLAB6.5的集成工作平台,引导读者初会MATLAB基本用法。第二、三章系统叙述MATLAB6.1的四大基本数据类型(数值数组、字符串数组、元胞数组、构架数组),至于其它扩展数据类型(函数句柄、符号数据、内联函数、unit数组、稀疏类)则另辟章节专述。此后,本书用九个独立章分述MATLAB6.5的数值计算、符号计算、函数和数据可视、面向对象编程、GUI交互操作界面设计、EXE独立应用程序生成、实现不同软件平台交互的API、M-book 数据图形文字环境集成等八大通用功能。本书用专门的一章深入浅出地阐明SIMULINK的分层建模、仿真功能、与MATLAB交互的功能。 全书包含390多个计算范例。所有算例的程序是可靠、完整的。读者可以在自己的MATLAB环境中完全准确地重现本书所提供的算例结果。算例的举一反三,将使读者很快掌握要领,从模仿走向灵活应用。 书中正文(包括算例)所涉及的指令全部罗列在附录的“A索引”中,用户很容易根据关键字符找到相关的正文说明和算例应用。 本书随带包含700多个文件的光盘。光盘文件包含:可直接在Notebook中运行的全部算例的M-book DOC文件;可在MATLAB环境中直接运行的算例M和MDL文件;可供读者实践MATLAB编译器及API的所有文件;可在PowrPoint中放映幻灯的PPT文件。它们不仅有效地提供了纸质媒体所不具备的交互能力和色彩感染力,而且弥补了纸质媒体没有SIMULINK模型源码文件、没有PPT源码文件、没有编译源文件和验证文件的缺陷。 本书既可作为理工科院校研究生、本科生系统学习的教材,又可以作为广大科技工作者掌握和精通MATLAB的自学用书和使用手册。 作者简介 张志涌 1944年出生于无锡;教授,获政府专项津贴,IEEE高级会员,中国电子学会高级会员,江苏省自动化学会理事、网络与系统专委会主委;1967年毕业于清华大学自动控制系,1982年初在上海交通大学获控制理论硕士学位,1989—90年在荷兰王国Eindhoven技术大学研修系统辨识、故障诊断;主持并完成国家自然科学基金、省部基金及科研项目近十项,发表论文50余篇,著作1本。现主要从事自动控制教学和计算机控制、计算机仿真、故障诊断等研究。 1989年在荷兰用MATLAB3.0研究系统辩识和故障诊断;1992年对MATLAB3.0实现汉化并编写了相应讲义;在1994、95年借助于MATLAB3.5、4.0先后完成国家自然科学基金和国家教委留学生基金课题研究;1996年在省基金支持下从事MATLAB4.2c建立仿真实验室的研究,并于1997年编写出版《掌握和精通MATLAB》;1997年底获原邮电部预研经费资助开始了以MATLAB5.x为工具的智能技术研究。

相关主题
文本预览