文档库 最新最全的文档下载
当前位置:文档库 › 实验三 图形用户界面设计(汽院含问题详解)

实验三 图形用户界面设计(汽院含问题详解)

实验三  图形用户界面设计(汽院含问题详解)
实验三  图形用户界面设计(汽院含问题详解)

实验三图形用户界面设计

实验目的

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,分别位于窗体的北部、中部和南部,然后分别在各个面板中添加其它组件,并逐步完善程序功能。

请按以下步骤完成程序设计:

1)新建ArtFont类,该类用于显示主界面。其主要代码如下:

public class ArtFont extends JFrame {

JComboBox fontType;//字体样式下拉框,

JComboBox fontSize;//字体大小下拉框

JComboBox windowStyle;//窗体样式下拉框

JCheckBox boldBx;// 粗体按钮

JCheckBox italicBx;// 斜体按钮

JButton colorBtn;// 颜色按钮;

String[] fontNames;// 字体名称;

String[] fontSizes;// 字体大小;

JLabel label;// 输入提示标签;

JTextField inputText;// 文字输入框;

JTextArea txtArea;// 文字显示区;

JPanel northPanel;// 字体设置;

JPanel centerPanel;// 显示效果区

JPanel southPanel;//样式设置

Font font;

int boldStyle, italicStyle, underlineStyle;

int fontSizeStyle;

String fontNameStyle;

Color colorStyle= Color.black;// 设置字体的默认颜色为黑色;

String[] style= { "默认显示效果", "Windows显示效果", "Unix 显示效果" };

public ArtFont() {

super("字体设置");

// 设置默认字体

boldStyle = 0;

italicStyle = 0;

underlineStyle = 0;

fontSizeStyle = 10;

fontNameStyle = "宋体";

font = new Font(fontNameStyle, boldStyle + italicStyle, fontSizeStyle);

northPanel = getNorthPanel();

centerPanel = getCenterPanel();

southPanel = getSouthPanel();

// 设置容器;

Container container = getContentPane();

container.setLayout(new BorderLayout());

【补充代码】//将northPanel添加到窗体的北部

【补充代码】//将centerPanel添加到窗体的北部

【补充代码】//将southPanel添加到窗体的北部

setSize(500, 300);

【补充代码】//将窗体位于屏幕的中央

setVisible(true); }

private JPanel getNorthPanel() {

JPanel panel = new JPanel();

return panel;

}

private JPanel getCenterPanel() {

JPanel panel = new JPanel();

return panel;

}

private JPanel getSouthPanel() {

JPanel panel = new JPanel();

return panel;

}

public static void main(String args[]) {

ArtFont artFont = new ArtFont();

artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );

}

}

2)根据ArtFont类代码和程序界面图设计北部面板northPanel:

private JPanel getNorthPanel() {

JPanel panel = new JPanel();

【补充代码…】

return panel;

}

3)根据ArtFont类代码和程序界面图设计中部面板centerPanel:

private JPanel getCenterPanel() {

JPanel panel = new JPanel();

【补充代码…】

return panel;

}

4)根据ArtFont类代码和程序界面图设计南部面板southPanel:

private JPanel getSouthPanel() {

JPanel panel = new JPanel();

//获得系统默认字体

GraphicsEnvironment ge =

GraphicsEnvironment.getLocalGraphicsEnvironment();

fontNames = ge.getAvailableFontFamilyNames();

fontType = new JComboBox(fontNames);

//设置字体大小

fontSizes = new String[63];

for (int i = 0; i < fontSizes.length; i++) { fontSizes[i] = Integer.toString(i+10);

}

【补充代码…】

return panel;

}

5)调试、编译和运行程序,并显示正确界面。

用户界面设计实验报告(中南民族大学)

《用户界面设计》实验报告 学号: 姓名: 班级名称: 指导教师:李波 实验日期:

目录 Experiment 1: Evaluation Practices (1) Experiment 2: Design a graphic user interface (3) Experiment 3: Error Messages GUI (12) Experiment 4: Help Document (14)

Experiment 1: Evaluation Practices Use the blank provided to answer the questions. Answer the questions on a scale of 1 to 5, where 1 is a strong no, 5 is a strong yes, and 3 is neutral. If the question does not apply, use a 0.

Experiment 2: Design a graphic user interface Now, you can use the usability measurement to design a graphic user interface .First, you must select a system to finish sessions or tasks for users, so users’ requirements must be analyzed to define all functions you want to realize. Second, you must draw a graphic UI using the software tools, such as Microsoft visual studio, or Visio, or others. All functions must be appeared in this GUI include a main interface and all assistant interfaces. Finally, you must explain why and how you design these GUIs according to the usability measurement and the EIGTH GOLDEN RULES. The document format is described as follow. You can finish this work by PPT or word. 1. The system requirement The system requirement is described here. The main contents include the aims and what the users want to do. 随着信息时代的发展,计算机管理的应用越来越广泛,随着计算机的普及,就连调查问卷也慢慢的脱离了纸质化。对于一个比较大的公司而言,对其客户进行调查问卷是很有必要进行的,而由于客户的分布广,进行纸质的调查问卷不仅浪费财力,还浪费了物力,因此网上调查就避开这一缺点。因此,我设计了一个网上调查问卷系统。这个系统的用户有两类,一类是经销商,一类是经销商的客户,客户通过网上填写问卷,经销商则对客户的问卷进行回收,统计,分析,以做出相应的出售方案。 The aims 1)用户管理

动物学实验报告--肖敬旺.

广州大学实习报告 项目名称:动物学实习 学院:生命科学学院 专业年级:13生物技术 学号:1314300053 姓名:肖敬旺 指导老师:舒琥、易祖盛、吴毅、李海燕 胡俊杰、侯丽萍、余文华 实习单位:广州大学生命科学学院 实习时间:2014.5.26—2014.5.30 广州大学教务处制

正文: 一、实习目的(宋体,加粗,四号,左对齐) 动物学是一门内容十分广博的学科,研究对象是动物各类群的形态结构、分类和有关的生命活动、发育规律、以及动物和外界环境之间多种多样关系的科学。 人们掌握了这些规律,就可能很好地认识和利用动物,使它能更对课堂知识的理解,做到理论联系实际;学会认识动物的特点,并且通过其特点对动物进行鉴定,了解其用途,以及在农业生产中的预防;掌握动物标本的采集以及制作方法;通过野外实习,提高学习的积极性与主动性对课堂知识的理解,做到理论联系实际;学会认识动物的特点,并且通过其特点对动物进行鉴定,了解其用途;掌握动物标本的采集以及制作方法;通过野外实习,提高学习的积极性与主动性;掌握所采集动物的种类名称、分类地位、分类依据、采集场所、采集方法、标本制作方法和生境描述等。 二、实习内容(宋体,加粗,四号、左对齐,) 5月26日至5月30日,在老师们的带领下,我们进行了为期5日的动物学实习。本次实习分为两个部分,分别是广州市内的陆上动物实习和深圳东山珍珠岛的临海动物实习。 5月26日,早上8:30在生化楼下进行了简单而重要的动物学实习动员。老师在动员大会上阐明了本次实习的目的、内容、要求和注意事项。随后我们变出发去中山大学博物馆参观,其中收藏的标本有国家一级保护动物大熊猫、金丝猴等37种,以及护士鲨、豹纹鲨、翻车鱼等百余种珍稀动物标本,此外还有北极熊、企鹅、鸵鸟等国外的珍稀动物标本;古生物化石标本500多件,其中7.8米长萨斯特鱼龙、3. 5米的新中国龙、兴义龙以及鳞齿鱼等具有极高的科研价值和展览价值。说实话这是第一次接触了那么多的动物标本。随后我们便出发去广州动物园,广州动物园于19 58年建成开放,目前饲养和展览着国内外400多种近5000头 (只) 动物,是我国三大城市动物园之一。在布局上,北部的麻鹰岗顶为猩猩馆、狒狒等灵长类兽舍,南坡设置中小型兽笼,西南坡有熊山、狮山、虎山、河马池等。与麻鹰岗隔湖相望的大片山岗地上,分布着猴山、熊猫馆、大象房、长颈鹿馆、犀馆、斑马馆、鹿舍等。 5月27日,早上8:30在生化楼下集中,随后我们去科学中心坐公交车向长洲岛出发。长洲岛的实习主要是捕捉昆虫,由于田野上的昆虫数量多而且种类繁多,所以我们主要在长洲岛附近的田野上进行捉虫活动。刚开始的时候,由于对捕虫网比较陌生,使用起来不太熟练,所以捕获的昆虫数量较少。但经过一个小时后,逐渐能熟练使用捕虫工具,慢慢捕获到一定数量和种类的昆虫。天气比较炎热,但是我们捕捉的非常愉快。下午,我们在生化楼504对捕获回来的昆虫进行处理,为今天捕捉到的标本展翅并制作标本,进行分类。 5月28日,早上8:30在生化楼集合,乘车向深圳东山珍珠岛出发。经过了将近3个小时的路程,我们来到了红树林并在此进行实习。红树以凋落物的方式,通过食物链转换,为海洋动物提供良好的生长发育环境,同时,由于红树林区内潮沟发达,吸引深水区的动物来到红树林区内觅食栖息,生产繁殖。由于红树林生长于亚热带和温带,并拥有丰富的鸟类食物资源,所以红树林区是候鸟的越冬场和迁徙中转站,更是各种海鸟的觅食栖息,生产繁殖的场所。红树林另一重要生态效益是它的防风消浪、促淤保滩、固岸护堤、净化海水和空气的功能。盘根错节的发达根系能有效地滞留陆地来沙,减少近岸海域的含沙量;茂密高大的枝体宛如一道道绿色长城,有效抵御风浪袭击。我们以小组为单位沿着泥沙

图形学实验报告

计 算 机 图 形 学 实验指导书 学号:1441901105 姓名:谢卉

实验一:图形的几何变换 实验学时:4学时 实验类型:验证 实验要求:必修 一、实验目的 二维图形的平移、缩放、旋转和投影变换(投影变换可在实验三中实现)等是最基本的图形变换,被广泛用于计算机图形学的各种应用程序中,本实验通过算法分析以及程序设计实验二维的图形变换,以了解变换实现的方法。如可能也可进行裁剪设计。 二、实验内容 掌握平移、缩放、旋转变换的基本原理,理解线段裁剪的算法原理,并通过程序设计实现上述变换。建议采用VC++实现OpenGL程序设计。 三、实验原理、方法和手段 1.图形的平移 在屏幕上显示一个人或其它物体(如图1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移动Tx和Ty,则有 x’=x+Tx y’=y+Ty 其中:x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。其交互方式可先定义键值,然后操作功能键使其移动。 2.图形的缩放 在屏幕上显示一个帆船(使它生成在右下方),使其相对于屏幕坐标原点缩小s倍(即x方向和y方向均缩小s倍)。则有: x’=x*s y’=y*s 注意:有时图形缩放并不一定相对于原点,而是事先确定一个参考位置。一般情况下,参考点在图形的左下角或中心。设参考点坐标为xf、yf则有变换公式x’=x*Sx+xf*(1-Sx)=xf+(x-xf)*Sx y’=y*Sy+yf*(1-Sy)=yf+(y-yf)*Sy 式中的x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。当Sx>1和Sy>1时为放大倍数,Sx<1和Sy<1时为缩小倍数(但Sx和Sy

实验8MATLAB图形用户界面设计实验报告

实验8 MATLAB图形用户界面设计实验报告实验报告 课程名称:MATLAB应用成绩: 实验项目名称:MATLAB图形用户界面设计实验时间:11.6 指导教师(签名): 班级:XXXXX 姓名:XXXXX 学号:XXX 实验目的: 1. 熟悉MATLAB的菜单设计方法 2. 熟悉MATLAB的主要控件使用方法 3. 熟悉MATLAB的GUI设计流程 实验环境: MATLAB 7.1 实验内容及过程: 简单计算器的设计:在MATLAB GUI的实验环境中,通过MATLAB图形用户界面设计的方法,设计一个 简单的计算器,以实现简单数据的退出、清屏、删除、四则运算等基本功能。 实验过程、结果及分析:

计算器代码: function varargout = jsq(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 第 1 页共 6 页 'gui_OpeningFcn', @jsq_OpeningFcn, ... 'gui_OutputFcn', @jsq_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

实验动物学实验报告

实验动物学实验报告 一、实验动物:小鼠 二、操作流程:抓取,固定,编号,给药,取血,麻醉,绝育,解剖。 三、具体操作 1、抓取:抓取小鼠时,右手抓住小鼠尾巴,不要过于用力,以免惊吓小鼠。左手从小鼠身体后部向前抓(以免小鼠向后缩咬伤自己),抓住小鼠颈部。固定住小鼠后,将小鼠皮肤往上抓,尽量将小鼠背部皮肤抓住。左手将小鼠腹部朝向自己,把小鼠尾巴用左手无名指和小指夹住,这时小鼠腹部皮肤紧绷,不能动弹。 2、固定:通常使用固定器进行固定。将固定器拧开后,抓住小鼠尾巴,使其钻入固定器中,再将拧下的固定器部分装好,使小鼠尾部露出,再将可旋转的铁片固定住即可进行后续实验。 3、编号:编号方式有两种:①剪脚趾编号:把小鼠腹面朝上,在下的脚趾从左至右依次编为1~10号,剪10号脚趾加1~9号脚趾依次编为11~19号,在上的脚趾依次编为20,30,40,50,60,70,80,90号,其余编号与11~19号类似。②打耳钉编号:耳钉上均有唯一编号,通过使用耳钉钳将耳钉打在小鼠耳朵上即可。实验时通常使用的是第一种方式进行编号,第二种编号通常用于需要长距离运输的动物。 4、给药:常用的给药方式有: ①口服给药:即灌胃。将注射器装入药物溶液,装上灌胃针(灌胃针有直头和弯头两种,区别不大)。如上所述,抓取小鼠后,使其头部朝上,尽量呈一直线,取灌胃针,从小鼠嘴角一侧缓缓插入(保持刻度在自己能看到的位置),顺着小鼠口腔食道的弧度让小鼠将针咽入,灌胃过程中如果遇到阻碍一定要及时拔出灌胃针,不可强行灌胃以免伤及小鼠食道以及肺部。灌胃针顺利进入后基本与小鼠身体呈一条直线,注入适量体积后再顺着食道缓缓取出灌胃针。 ②静脉注射:小鼠尾部有3条静脉和1条动脉,3条静脉非别位于背部,及两侧。静脉注射时一般选取两侧静脉,因为其相对于背部静脉更为清晰饱满。将小鼠固定后,用酒精擦拭其尾部静脉,使其充血,以便注射。之后使注射器针孔处朝上,针与尾部呈约30°扎入尾部后向上轻挑,再向内扎入部分,此过程应该比较顺畅,没有阻碍,若阻碍较大则有可能扎入到了皮肤中。扎入后将活塞向后回抽一点可见到有血回流,则说明成功扎入静脉当中,注射适当体积后迅速拔针,用酒精进行消毒。 5、取血:有断尾取血法和眼眶取血法两种。本次实验使用的是眼眶取血法。抓取小鼠,固定其头部用手指将其上下眼睑分开,露出其眼球并且不能闭上。用玻璃毛细管从其上眼角处扎入眼球后方毛细血管从,使血液顺着毛细管留下,取血完成后快速将毛细管取下。 6、麻醉:抓取老鼠,使其头部朝下,使其腹部脏器向胸腔靠拢,露出腹部空腔,以免刺伤脏器。将注射器竖直扎入靠近后腿部腹腔,刺入之后稍微向前倾斜但不要向前刺入,一般注入0.5mL麻醉剂即可。随后拔出针,方向小鼠,等待几分钟后即可麻醉。 7、绝育:绝育手术是通过剪除雌鼠卵巢或雄鼠输精管来实现的。将麻醉的雌鼠背面朝上,从其胸腔和尾部之间向下三分之一处剪开一个小口,用镊子将其卵巢取出,上面呈现红色斑点的部分即为卵巢,用剪刀将这一部分剪除,然后用缝合针线将其缝合,缝合方法为将针穿过后,将线缠绕镊子两圈再逆时针缠绕两

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

计算机图形学实验报告实验2

大学实验报告 学院: 计算机科学与信息专业:计算机科学与技术班级:计科101 喻志华学号1008060024 实验组实验时间2013/3/30 指导教师吴云成绩实验项目名称圆和椭圆的生成算法 实 验目的 根据圆的Brensenham算法、中点算法和中点改进算法,以及椭圆的中点算法,编写程序,实现圆与椭圆的绘制。 实 验要求1.圆、椭圆的中点算法 2.圆的优化后的算法:二次差分法 3.编制源程序; 4.对于一些较为重要的算法,可以摘抄在报告中; 实验原理 1.中点算法 A.构造函数 F(X,Y)=X2+Y2-R2,则可知 F(M)< 0:M在圆,取T F(M)≥ 0:M在圆外,取 B B.第一个M点的值有: (一)DM0 = F(M0)= F(1,R-0.5)= 12+(R-0.5)2-R2=1.25-R 若 D=d-0.25 则判别式d<0等价于D<-0.25。即DM0=1-R与DM0=1.25-R等价。 (二)如果dM<0,表示下一中点M在圆,选择T点,且: dMT= F(MT)= F(xp+2,yp-0.5) 则: ?dMT= dMT - dM=2xp+3 (三)如果dM>0,表示下一中点M在圆外,选择B点,且: dMB= F(xMB,yMB)= F(xp+2,yp-1.5)则: ?dMB= dMB - dM=2xp-2yp +5 2.中点改进算法——增量算法

设圆上某点I(xi,yi);则下一点为J点,坐标为(xi+1,yj)dT=2xp+3; dB=2(xp-yp)+5; d1=d2=0; 因为x每次加1,所以 dj点 A.将增量?dMT=2(xi+1)+3=dT+2=dT+d1; (d1=d1+2) B.将增量?dMB=2(xi+1)-2yj+5=dB+d1+d2; dj较之于di,x部分增量增加相同的量,y部分两种情况 1.取T点,yj不减1,y部分增量的增量无变化 2.取B点,yj减1,y部分增量的增量加 2. 所以当y—时,d2=d2+2 因此,d<0, d=d+dT+d1; d>0, d=d+dB+d1+d2; 3.Brensenham算法 1.基本思想: 当|D(Ti)|≥|D(Bi)|,则Bi更接近于圆周,选择Bi; 当|D(Ti)|<|D(Bi)|,则Ti更接近于圆周,选择Ti; 若令D=|D(Ti)|-|D(Bi)| 则D≥0,取Bi; D<0,取Ti; 2.三种情况 A.设x0=0,y0=R;则T1为(1,R),B1为(1,R-1), d1=(12+R2-R2)+[(12+(R-1)2-R2]=3-2R B.若di<0,则取Ti作为下一点,即Pi(xi-1+1,yi-1); d(i+1)=di+4xi-1+6 C.若di≥0,则取Bi作为下一点,即Pi(xi-1+1,yi-1-1), d(i+1)=di+4(xi-1-yi-1)+10 4.椭圆的中点算法

Visual FoxPro 程序设计实验报告

VF程序设计实验报告 图书馆管理系统 专业: 学号: 姓名: 指导教师: 2010年12月31日

目录 第一部分系统概述--------------------------------2 第二部分系统功能模块设计------------------------2 第三部分系统数据库及表设计----------------------2 第四部分系统菜单设计----------------------------5 第五部分系统界面设计----------------------------6 第六部分系统相关程序代码-----------------------13 第七部分实验报告小结---------------------------22 第八部分参考资料-------------------------------22

一、系统概述 近年来,随着图书馆规模的不断扩大,图书数量相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理户导致图书管理的混乱,人力与物力过多的浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。因此,为了充分发挥了图书馆的功效,最大限度地为读者服务,必须制定一套合理、有效,规范和实用的图书馆管理系统,对图书资料进行集中统一的管理。 根据上述需要,我们建立本图书馆管理系统。 根据图书、读者和管理员三者之间的关系,本系统主要实现读者对图书的查询、个人信息的修改和管理员对读者、图书的管理。 本系统采用VF6.0作为开发工具。 二、系统功能模块设计 本系统可以完成一般图书馆关于图书查询、借阅及书库管理的主要功能。其中:图书查询模块可以查询所需要的图书;读者管理模块中,读者可以查看自己的信息,对登陆密码进行修改,管理员可以对读者进行添加和删除;图书管理模块中,管理员可以为读者进行图书的借阅和归还操作,以及对图书的信息进行修改,如加入新书、删除不能使用的图书和更新图书的信息;报表打印模块中,实现对需要的信息进行打印输出。系统结构下图所示。 三、数据库及表设计 经分析,图书馆管理系统主要涉及了学生、管理员和图书三部分。因此需要建立的实体就是学生、管理员和图书三个。 根据系统模块的设计,可以的到本系统需要建立的基本表为:读者信息表、

动物实验报告

实验动物学实验报告 学院: 学号: 姓名 时间: 实验一:小鼠实验

一、实验目的 1、掌握小鼠抓取、固定的基本方法; 2、掌握小鼠的雌雄鉴别方法; 3、掌握小鼠的标记方法; 4、掌握小鼠的基本采血技术; 5、掌握小鼠的常用给药方法; 6、掌握小鼠的解剖方法,熟悉内部脏器的自然位置; 二、实验材料 1、实验动物:每组两只雌鼠,两只雄鼠; 2、实验器械及试剂:鼠笼;小鼠固定器和小鼠固定板;眼科剪;眼科镊;解剖刀;1ml注射器;毛细玻璃管;灌胃针;苦味酸染料;葡萄糖液;2%水合氯醛; 三、实验内容及方法 1、小鼠的抓取和固定 抓取时先用右手抓取鼠尾提起,置于鼠笼或实验台向后拉,在其向前爬行时,用左手拇指和食指抓住小鼠的两耳和颈部皮肤,将鼠体置于左手心中,把后肢拉直,以无名指按住鼠尾,小指按住后腿即可。这种在手中固定方式,能进行实验动物的灌胃、皮下、肌肉和腹腔注射以及其他实验操作。 2、小鼠的雌雄鉴别 雄鼠的阴囊明显,雄鼠可见阴道开口和五对乳头。幼鼠或仔鼠则主要从外生殖器与肛门的距离判定,近者为雌,远者为雄。另外,雌鼠肛门和生殖器之间有一无毛小沟,而雄鼠则在肛门和生殖器之间长毛。 3、小鼠的标记方法 1)耳孔法 用耳号钳在耳上打洞或者用剪刀在耳边缘剪缺口,左耳为十位,右耳为个位。 2)剪趾法 适用于出生一周以内新生仔鼠; 3)染色法 用毛笔将苦味酸涂在动物的不同部位,注意逆着毛发生长方向刷。

4、小鼠的基本采血 1)剪尾采血 当所需血量很少时采用本法。固定动物并历出鼠尾,将鼠尾在45℃温水中浸泡数分钟,也可用酒精棉球涂擦,使局新血管扩张。将鼠尾擦干,再用刀片剪去1-2mm,让血液滴入盛器或直接用移液器吸取,同时自尾根部向尾尖按摩。取血后,先用棉球压迫止血并立即用6%液体火棉胶涂于尾巴伤口处,使伤口外结一层火棉胶薄膜,保护伤口。也可采用切割尾静脉的方法采血,三根尾势脉可交替切割,并自尾尖向尾根方向切割,每次可取0.2~0.3ml血,切割后用棉球压迫止血。这种采血方法在大鼠进行较好,可以较长的间隔时间连续取血,进行血常规检查。 2)眼眶后静脉丛取血 当需中等量的血液,而又需避免动物死亡时采用此法。用左手固定鼠,尽量捏紧头部皮肤,使头固定,并轻轻向下压迫颈部两侧,引起头部静脉血液回流困难,使眼球充分外突(示眼眶后静脉丛充血),右手持毛细玻璃管,沿内眦眼眶后壁向喉头方向旋转刺入。刺入深度小鼠2~3mm。当感到有阻力时再稍后退,保持水平位,稍加吸引,由于血压的关系,血液即流人玻璃管中。得到所需的血量后,拨出毛细管。若手法恰当,小鼠约可采血0.2~0.3ml。 3)心脏取血 动物仰卧固定在固定板上,剪去心前区部位的被毛,用碘酒酒精消毒皮肤。在左侧第3~4肋间,用左手食指摸到心搏处,右手取连有4~5号针头的注射器,

图形学实验报告

山东建筑大学测绘地理信息学院 实验报告 (2016—2017学年第一学期) 课程:计算机图形学 专业:地理信息科学 班级:地信141 学生姓名:王俊凝 学号:20140113010 指

实验一直线生成算法设计 一、实验目的 掌握基本图形元素直线的生成算法,利用编程语言C分别实现直线和圆的绘制算法。 二、实验任务 在TurboC环境下开发出绘制直线和圆的程序。 三、实验仪器设备 计算机。 四、实验方法与步骤 1 运行TurboC编程环境。 2 编写Bresenham直线绘制算法的函数并进行测试。 3 编写中点圆绘制算法的函数并进行测试。 4 增加函数参数,实现直线颜色的设置。 提示: 1. 编程时可分别针对直线和圆的绘制算法,设计相应的函数,例如void drawline(…)和void drawcircle(…),直线的两个端点可作为drawline的参数,圆的圆心和半径可作为drawcircle的参数。 2. 使用C语言编写一个结构体类型用来表示一个点,结构体由两个成员构成,x和y。这样,在向函数传入参数时,可使用两个点类型来传参。定义方法为:

typedef struct{ int x; int y; }pt2; 此处,pt2就是定义的一个新的结构体数据类型,之后就可用pt2来定义其他变量,具体用法见程序模板。 3. 在main函数中,分别调用以上函数,并传入不同的参数,实现对直线的绘制。 4. 线的颜色也可作为参数传入,参数可采用TurboC语言中的预设颜色值,具体参见TurboC图形函数。 五、注意事项 1 代码要求正确运行,直线和圆的位置应当为参数,实现可配置。 2 程序提交.c源文件,函数前和关键代码中增加注释。 程序模板 #include #include typedef struct{ int x; int y; }pt2; /*declare your drawing functions.*/ void drawline(pt2 startpt,pt2 endpt,int color); void drawcircle(pt2 centerpt,int radius,int color); void circlePlotPoints(pt2 centerpt,int x,int y,int color); int main() { int color,radius;

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)

实验动物学实验报告大鼠,小鼠,小鼠的基本实验操作,大鼠的基本实验操作

实验一小鼠的基本实验操作 一、实验目的:通过实际操作,掌握小鼠的一般操作方法,包括小鼠的抓拿、标记、给药(灌 胃、腹腔注射、皮下、肌肉、尾静脉注射)、取血(眶后静脉丛,摘眼球)、脊椎脱臼法处死、大体解剖。 二、实验动物:昆明小鼠2只(1雌1雄) 三、实验步骤 1、抓取与固定,标记 2、去毛 3、给药:消化道、腹腔注射、尾静脉注射 4、取血:眼眶后静脉丛、尾静脉、眼球摘除法、断头法 5、麻醉:氯胺酮腹腔麻醉 6、处死:脊椎脱臼法 7、解剖: 雄性:睾丸、附睾、输精管、鼠蹊腺(在膀胱下方,胶质状,透明) 雌性:双角子宫、卵巢 肾上腺、胆囊、甲状腺、胃、肝脏、脾、肺、肾、心脏、甲状腺 四、实验结果 1、抓取与固定标记: 抓取:抓小鼠的尾根部 固定:抓住小鼠的尾根部,让小鼠在粗糙平面上爬行,后拉尾跟部,右手的拇 指与食指抓住小鼠两耳及其间的颈部皮肤,小指与无名指将尾巴固定在手掌面。并标记: 2、灌胃法:左手抓取小鼠固定后,右手持特制灌胃针,沿一侧口角进针,紧贴咽后壁,头后仰以便伸直消化道,进针2/3后灌生理盐水0、5ml 3、注射给药: 腹腔注射: 从下腹部的两侧进针 ,进针时针与腹部成45°。进针后稍微晃动针,如无粘滞感则可注射药物 尾静脉注射:一人固定小鼠,另一人用左手中指与拇指将尾拉直,食指托住尾部,在尾动脉位置进针注射0、5ml生理盐水。注射完毕拔出针头,用无菌棉球压迫止血。 4、采血 从眼角内侧0、5cm处进针 眼球摘除法:左手抓取用固定小鼠,右手持弯头镊在眼球根部将眼球摘除,头朝下,眼眶内血迅速流出。 5、麻醉: 0、5%氯胺酮腹腔麻醉:本小鼠重22g,按100mg/kg的药量给药,2分钟麻醉成功 6、处死: 脊椎脱臼法:按住头部,将尾根部向后上方以短促的力量拉即可致死 7、解剖: 雄性:寻找到睾丸、附睾、输精管、鼠蹊腺 雌性:双角子宫、卵巢 3、7、2 肾上腺:米粒大小 胰腺:位于胃下方,类似于脂肪组织,浑浊状 3、7、4 ,胆囊:芝麻大小,浅绿色,半透明,

oracle设计实验报告材料

课程设计 课程题目:ORACLE应用系统设计设计题目:音像店信息管理系统 专业:计算机科学与技术 班级:计131 组员:李霆桑珠扎西虞洲 学号: 130761 130767 130762 日期: 2016-03-04 信息工程学院计算机科学与技术

目录 一.课程目的………………………………………………………. 二.题目要求……………………………………………………… 三.日期安排………………………………………………………. 四.组内分工……………………………………………………… 五.实验条件......................................................... ........................... 六.实验内容......................................................... ........................... (1)第一部分:Oracle管理技术……………………………………… 1.数据库管理…………………………………………………….. 2.角色和用户管理………………………………………………... 3.表和视图管理………………………………………………….. 4.索引和序列管理………………………………………………... 5.PL/SQL编程…………………………………………………… 6.使用游标、存储过程和触发器………………………………… 7.表空间管理……………………………………………………… 8.文件管理………………………………………………………… (2)第二部分:Oracle开发技术……………………………………….. ①数据库设计………………………………………………………………… ②界面设计.................................................... ③结果测试…………………………………………………………………… 七.问题及解决…………………………………………………….. 八.总结...............................................

动物标本实验报告

动物标本实验报告 篇一:动物剥制标本的制作 动物剥制标本的制作 一、实验目的 动物剥制标本是一种利用动物皮张制成的标本,适用于大部分脊椎动物,尤其是鸟类和哺乳类,在动物学教学和科研中有着广泛的应用。 剥制标本分为真剥制和假剥制两类。真剥制就是将动物皮张还原为生活姿态加以展示。所谓假剥制就是不再将皮张还原为原来动物的姿态,而是简单的展示皮张上体现的特征。本实验为动物剥制实验中的真剥制。 二、实验用品 1. 工具:解剖刀,镊子,棉花,铁丝,剪刀,针线,解剖盘等。 2. 材料:家兔 3. 药品:樟脑粉 三、实验方法 1. 杀死家兔:利用折颈法 2. 清洁标本:如有血污沾染,用棉花醮少许冷水,细心将血污擦拭干净。 3. 剥皮:将家兔头朝左侧腹面向上放在实验台上,自胸部中线处将毛分开,向后到肛门处纵向切开皮肤,切时不

能过深,以见到肌肉为止,不要割开肌肉或腹腔,以防内脏和血污染毛皮。再继续将腹部两侧,背部及后腿部的肌肉与皮肤分离,并从股骨近端处剪断,再将生殖器、直肠与皮肤连接处剪断,清除尾基部的结缔组织,用手轻轻捻搓尾部,使皮与肌肉松动,然后一手握住尾根,另一手用拇指和食指卡住尾根,然后用力拉出尾椎骨。剥头部时,需特别注意,将毛皮继续上剥,用解剖刀边划割边上拉毛皮。眼耳处要翻剥,千万不能割破皮肤,耳朵的软骨小心剪断,否则兔子的耳朵竖不起来。沿着眼睑边缘细心地剖割,切勿割破眼睑和眼球。眼球剥离后,继续剥到上下嘴唇的前端为止,保留少许上、下唇皮跟头骨相连。随后用骨剪截断颈椎,使躯干和头骨分离。前后肢要小心翻剥,后肢翻剥到脚踝处,留腓骨,剥净趾骨基部的肌肉(留下趾骨,便于生态整形),将皮上附着的脂肪和肌肉除净。头骨放入水中煮熟,仔细的将脑髓,肉等都清理干净。剥皮要特别小心,总体上是先剥身体再剥四肢,头部要特别小心。 4. 涂防腐剂:涂时要均匀,特别是颅腔内要多涂些,涂时要注意尽量勿碰脏毛皮,要都涂遍不能有漏除的地方。 5. 做支架:取三根合适长度的铁丝,头部脊柱、四肢共用三根铁丝(左前肢与右前肢,左 后肢与右后肢,头部脊柱连通尾各一根),要设计好各部分的长短比例,三者拧在一起。

计算机图形学实验报告

《计算机图形学》 实验报告 学号:0908610211 姓名:宋雪英 班级:计算机0961 项目: 1.利用其它两种画直线方法实现放大10陪显示方法,交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。 2.利用方形、线性两种画刷来绘制圆和椭圆。 3.实现交互式二维图形的放缩,旋转和对称变换 2012年12月25日

基本图形的生成技术 一、实验目的 在一个图形系统中,基本图形(也称为图元、图素等)的生成技术是最基本的,任何复杂的图形都是由基本图形组成的,基本图形生成的质量直接影响该图形系统绘图的质量。所以,需要设计出精确的基本图形生成算法,以确保图形系统绘图的精确性。本次实验的目的就是利用Bresenham 算法和中心画线法两种画直线方法实现放大10陪显示方法,交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。利用方形、线性两种画刷来绘制圆和椭圆。实现交互式二维图形的放缩,旋转和对称变换。 二、实验任务 1.利用其它两种画直线方法实现放大10陪显示方法,交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。 2.利用方形、线性两种画刷来绘制圆和椭圆。 3.实现交互式二维图形的放缩,旋转和对称变换。 三、画直线的实验内容 任务一:利用其它两种画直线方法实现放大10陪显示方法交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。 1、设计思路 第一步:建立DDAMouseLine工程文件; 第二步:向视图类中添加自定义的成员变量 用鼠标右键单击视图类,选择“Add Member Variable…”,添加下面三个成员变量。 proctected : CPoint m_p1; //起点 CPoint m_p2; //起点 CPoint m_p; //点击鼠标时点的取值 第三步:向视图类中添加自定义的成员函数原型:

计算机图形学实验报告记录

计算机图形学实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

计算机图形学实验报告 姓名:___ __________ 学号:_____ ________ 班级:______ _______ 时间:_____2016年12月_________

实验一OpenGL编程与图形绘制 1.实验目的 了解OpenGL编程,并熟悉OpenGL的主要功能、绘制流程和基本语法。学会配置OpenGL环境,并在该环境中编程绘图。 2.实验内容 OpenGL的主要功能:模型绘制、模型观察、颜色模式、光照应用、图像效果增强、位图和图像处理、纹理映射、实时动画和交互技术。 OpenGL的绘制流程分为两个方面:一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,最上面的层为应用软件;OpenGL命令将被放在一个命令缓冲区中,这样命令缓冲区中包含了大量的命令、顶点数据和纹理数据。当缓冲区被清空时,缓冲区中的命令和数据都将传递给流水线的下一个阶段。 OpenGL的基本语法中相关库有:OpenGL核心库:gl、OpenGL实用程序库:glu、OpenG 编程辅助库:aux、OpenGL实用程序工具包(OpenGL utility toolkit,GLUT):glut、Windows 专用库:wgl。 OpenGL的基本语法中命名规则为:OpenGL函数都遵循一个命名约定,即采用以下格式:<库前缀><根命令><可选的参数个数><可选的参数类型>。 了解了上述基础知识后,配置好OpenGL环境,然后在该环境中编程练习图形的绘制,本次实验主要是对点的绘制、直线的绘制和多边形面的绘制。 3.实验代码及结果 3.1点的绘制: #include void Initial(void) { glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色 glMatrixMode(GL_PROJECTION); //指定设置投影参数 gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影参数 } void Display(void) {

Web界面设计实验报告

实验报告 课程名称:Web语言及XML程序设计实验项目:Web网页设计及XML编程专业班级: 姓名:学号: 实验室号:实验组号: 实验时间:批阅时间: 指导教师:成绩:

沈阳工业大学实验报告 题目:xx大学学生信息管理系统 于光亚负责:WEB网页界面设计 专业班级:学号:姓名: 实验名称: 附件A 沈阳工业大学web实验报告 ——xx大学学生信息管理系统 实验步骤或程序: 1.绪论:这次课程设计所制作的网站中分为五个板块,教师登陆、教师注册、学生成绩、学生信息管理、学生注册,通过这个网站,用户可以访问XX大学学生信息,及特权用那户对网页部分信息的管理。但网站有些简单,功能也不全面,功能实现有限。 2.布局介绍:网站下分为五个板块,分别为教师登陆、教师注册、学生成绩、学生信息管理、学生注册。整体结构如下

3.各页面设计: 3.1主页 预览: 功能实现:主页简单明了,突出登陆界面,网页功能及主意事项,插入图片动画增强美观,以上功能均以代码实现,均可根据要求做出调整。 3.2教师注册页: 预览:

功能实现:在主页点击教师注册,进入本页,实现简单的注册、提交功能,界面设计突出功能,实用性为主。 3.3学生注册页 预览:

功能实现:在主页点击学生注册,进入本页,罗列学生注册信息,同样实现简单的注册、提交功能,界面设计突出功能,实用性为主。 3.4学生成绩页 预览: 功能实现:通过主页登录,可进入学生成绩页面,实现通过学号、班级的输入完成学生成绩的搜索,教师用户还可对学生西成绩进行修改,本页还附带百度搜索、教师功能、学生功能等超链接,完善用户需求。 3.5学生信息管理页 预览:

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

相关文档
相关文档 最新文档