实验三图形用户界面设计(汽院含答案解析)
- 格式:doc
- 大小:289.46 KB
- 文档页数:27
图形用户接口一、实验目的·了解嵌入式系统图形界面的基本编程方法·学习图形库的制作二、原理概述2.1 Frame Buffer显示屏的整个显示区域,在系统内会有一段存储空间与之对应。
通过改变该存储空间的内容达到改变显示信息的目的。
该存储空间被称为Frame Buffer,或显存。
显示屏上的每个点都与frame buffer里的一个像素对应。
显示屏可以用单色或彩色来显示。
单色用1位来表示,彩色有2、4、8、16、24、32等位色。
显示屏还有单屏模式和双屏模式。
2.2 Frame Buffer与色彩计算机反映自然界的色彩是通过RGB值来表示的。
像素的RGB值可以直接从Frame Buffer里得到,或是从调色板间接得到。
实验室的显示器为16位色,因此Frame Buffer里的每个单元为16位:高5位为R,中间6位为G,低5位为B。
2.3 LCD控制器LCD控制器是Frame Buffer与显示屏之间的一个中间部件,负责从Frame Buffer中提取数据,进行处理,并传输到显示屏上。
本实验用到的开发板处理器PXA270集成了LCD控制器,实验中用到的显示屏是16位的TFT LCD,像素分辨率为 640×480。
三、实验内容3.1Frame Buffer操作Frame Buffer的设备是/dev/fb。
Struct fb_var_screeninfo vinfo;Fd = open("/dev/fb",O_RDWR)ioctl(fd,FBIOGET_VSCREENINFO,&vinfo)来获取它的可变参数,其中包括显示器的色位,分辨率等信息(vinfo.bits_per_pixel、vinfo.xres、vinfo.yres)。
获得缓冲区首地址,调用方式为:unsignedchar*fbp=0;fbp=(unsigned char*)mmap(0,sreensize,\PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);将显示缓冲区清零,memset(fbp,0,screensize),即可实现清屏。
第11章 MATLAB图形用户界面设计习题11一、选择题1.控件的BackgroundColor属性和ForegroundColor属性分别代表()。
DA.前景色和背景色B.前景色和说明文字的颜色C.说明文字的颜色和背景色D.背景色和说明文字的颜色2.用于定义控件被选中后的响应命令的属性是()。
CA.String B.Command C.CallBack D.Value3.定义菜单项时,为了使该菜单项呈灰色,应将其Enable属性设置为()。
B A.on B.off C.yes D.no4.建立快捷菜单的函数是()。
AA.uicontextmenu B.UIContext C.uimenu D.ContextMenu5.用于检查和设置对象属性的图形用户界面设计工具是()。
AA.对象属性检查器B.工具栏编辑器C.对象浏览器D.对象属性窗格二、填空题1.图形用户界面由窗口、和等图像元素组成。
菜单,对话框2.在一组按钮中,通常只能有一个被选中,如果选中了其中一个,则原来被选中的就不再处于被选中状态,这种按钮称为。
单选按钮3.控件的Position属性由4个元素构成,前两个元素为控件左下角相对于的横纵坐标值,后两个元素为控件对象的和。
图形窗口,宽度,高度4.如果需要取消图形窗口默认的菜单,可以将图形窗口的属性设置为none。
MenuBar5.在MATLAB命令行窗口输入命令,或在MATLAB主窗口中单击“主页”选项卡“文件”组中的“新建”命令按钮,选择命令,打开图形用户界面设计模板窗口。
guide,图形用户界面三、应用题1.建立控件对象。
(1)建立单选按钮,分别用于将图形窗口移至屏幕的四个角。
(2)建立弹出框,分别选择不同的函数,从而实现相应的函数运算。
(3)建立列表框,分别选择不同的函数,从而实现相应的函数运算。
(4)分别建立编辑框和命令按钮,其中编辑框输入多项式系数,命令按钮求其根。
(5)用滑动条来输入a和b的值,命令按钮求其和。
一、单选题1、用于获取当前图形窗口句柄的函数是()。
A.gcaB.gcfC.gcoD.gcw正确答案:B2、使用figure 函数建立图形窗口时,默认的标题是()。
A.图形窗口n(n是图形窗口的序号)B.Fig n(n是图形窗口的序号)C.Figure n(n是图形窗口的序号)D.Figure Window n(n是图形窗口的序号)正确答案:C3、用于决定坐标轴对象是否带边框的属性是()。
A.BoxB.GridC.PositionD.Font正确答案:A4、下列命令中,除一条命令外其他三条命令等价,这一条命令是()。
A.line(x,y,'Color','r');B.line(x,y,'r');C.plot(x,y,'Color','r');D.plot(x,y,'r');正确答案:B5、h代表一根曲线,要设置曲线的颜色为红色,可以使用命令()。
A.h.Color='r';B.h.color='r';C.h.COLOR='r';D.h.LineColor='r';正确答案:A6、用于标识图形对象的属性是()属性。
A.TitleB.StringC.Tagbel正确答案:C7、控件的BackgroundColor属性和ForegroundColor属性分别代表()。
A.前景色和背景色B.前景色和说明文字的颜色C.说明文字的颜色和背景色D.背景色和说明文字的颜色正确答案:D8、用于定义按钮被单击的响应的属性是()。
A.StringmandC.CallBackD.Value正确答案:C9、定义菜单项时,为了使该菜单项呈灰色,应将其Enable属性设置为()。
A.'On'B.'Off'C.'Yes'D.'No'正确答案:B10、用于检查和设置对象属性的图形用户界面设计工具是()。
实验三图形⽤户界⾯设计(汽院含答案解析)实验三图形⽤户界⾯设计实验⽬的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布局。
实验6. 图形用户界面设计一、 实验目的1. 掌握图形对象属性的基本操作;2. 掌握菜单及对话框设计、建立控件对象的方法。
二、 实验环境1. 计算机2. matlab7.1三、 实验说明1. 正确操作,认真观察;2. 实验学时:2学时;3. 学会使用help ;4. 保存整理实验结果,提交实验报告。
四、 实验内容1.设计如教材P374 图1所示的菜单,并在此基础上增加选项:可以改变曲线的颜色,可以改变窗口背景颜色。
2.(选做)采用图形用户界面,从键盘输入参数a 、b 、n 的值,考察参数对极坐标曲线)cos(θρn b a +=的影响。
五、 实验程序及结果1. screen=get(0,'ScreenSize');W=screen(3);H=screen(4);figure('Color','w','Position',[0.2*H,0.2*H,0.5*W,0.3*H],...'Name','菜单设计实验','NumberTitle','off','MenuBar','none'); hplot=uimenu(gcf,'Label','&Plot'); %定义plot 菜单项uimenu(hplot,'Label','Sine Wave','Call',...['t=-pi:pi/20:pi;','h0=plot(t,sin(t));',...'set(hlr,''Enable'',''on'');',...'set(hlg,''Enable'',''on'');',...'set(hlb,''Enable'',''on'');']);uimenu(hplot,'Label','Cosine Wave','Call',...['t=-pi:pi/20:pi;','h0=plot(t,cos(t));',...'set(hlr,''Enable'',''on'');',...'set(hlg,''Enable'',''on'');',...'set(hlb,''Enable'',''on'');']);uimenu(hplot,'Label','&Exit','Call','close(gcf)');hc=uimenu(gcf,'Label','&Color'); %定义Color菜单项hw=uimenu(hc,'Label','&Window Color');uimenu(hw,'Label','&Red','Call','set(gcf,''Color'',''r'');');uimenu(hw,'Label','&Green','Call','set(gcf,''Color'',''g'');');uimenu(hw,'Label','&Blue','Call','set(gcf,''Color'',''b'');');hl=uimenu(hc,'Label','&Line Color','Separator','on');hlr=uimenu(hl,'Label','&Red','Call',...'set(h0,''Color'',''r'');','Enable','off');hlg=uimenu(hl,'Label','&Green','Call',...'set(h0,''Color'',''g'');','Enable','off');hlb=uimenu(hl,'Label','&Blue','Call',...'set(h0,''Color'',''b'');','Enable','off');2. hf=figure('menubar','none','name','图形演示',...'numbertitle','off'); %定义图形窗口set(gcf,'unit','normalized','posi',[0.2,0.3,0.55,0.36]);axes('posi',[0.05,0.15,0.55,0.7]); %定义坐标轴uicontrol(gcf,'style','text','unit','normalized',... %定义静态文本'posi',[0.63,0.85,0.1,0.1],'string','参数 a',...'horizontal','center');uicontrol(gcf,'style','text','unit','normalized',...'posi',[0.63,0.65,0.1,0.1],'string','参数 b',...'horizontal','center');uicontrol(gcf,'style','text','unit','normalized',...'posi',[0.63,0.45,0.1,0.1],'string','参数 n',...'horizontal','center');ha=uicontrol(gcf,'style','edit','back','w',... %定义编辑框'unit','normalized', 'posi',[0.80,0.85,0.15,0.1]);hb=uicontrol(gcf,'style','edit','back','w',...'unit','normalized','posi',[0.80,0.65,0.15,0.1]);hn=uicontrol(gcf,'style','edit','back','w',...'unit','normalized','posi',[0.80,0.45,0.15,0.1]);uicontrol(gcf,'style','push','unit','normalized',... %定义按钮'posi',[0.61,0.15,0.15,0.15],'string','绘图','call',COMM); uicontrol(gcf,'style','push','unit','normalized',...'posi',[0.80,0.15,0.15,0.15],'string','关闭','call','close(gcf)');COMM=['a=str2num(get(ha,''string''));',... %绘图'b=str2num(get(hb,''string''));',...'n=str2num(get(hn,''string''));',...'theta=0:0.01:2*pi;',...'rho=a*cos(b+n*theta);',...'polar(theta,rho);'];改变参数a,如图所示改变参数b,如图所示改变参数n,如图所示。
实验3 建立图形用户界面一、实验目的了解图形用户界面基本组件窗口、按钮、文本框等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
二、实验要求1.掌握在容器(Frame,Applet,Panel)中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。
2.理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
3.掌握编写独立运行的窗口界面的方法。
三、实验内容(一)创建图形用户界面图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add 方法把组件加入到容器中。
1.在Applet 中添加标签、按钮并使用网格布局(1)程序功能:在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX3_1.java 程序文件,源代码如下。
import java.awt.*;import java.applet.Applet;public class LX3_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);add(b1);add(b2);add(b3);add(new Label());add(b4);add(new Button("按钮5"));add( new Button("按钮6"));add(new Label("标签2"));}}(3)编译程序LX3_1.java。
1.用户满意度=功能+___人机界面_____+响应时间+可靠性+易安装性+____信息____+可维护性+其他因素2. ____人机交互(人机对话)____是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。
3.软件界面设计分为____功能性设计界面____、____情感性设计界面____、____环境性设计界面____。
4.进行系统分析和设计的第一步是___用户分析_____。
5.使用较早,也是使用最广泛的人机交互方式是____交互方式____。
6.软件界面开发流程包括____系统分析____、____系统设计____、____系统实施____三个阶段7.设计阶段包括界面的____概念设计____、____详细设计____、____原型建立____与界面实现以及综合测试与评估等8.VB 是以结构化___Basic_____语言为基础、以____事件驱动作____为运行机制的可视化程序设计语言。
9.菜单使用形式主要有____菜单操作____和____Tba控件操作____两种。
10.随着计算机图形技术的发展,以直接操纵、桌面隐喻以及所见即所得为特征的____图形用户界面____技术广泛被计算机系统采用。
11.在用VB 开发应用程序时,一般要布置窗体、设置控件的属性、___编写代码___。
12. 假定在窗体上有一个通用对话框,其名称为CommonDialog1,为建立一个保存文件对话框,则需要把Action 属性设置为__value__。
13. 计时器事件之间的间隔通过__interval__属性设置。
14. 语句“Print “5+65=”;5+65”的输出结果为__5+65=70__。
15. 设有下列循环体,要进行4次循环操作,请填空。
x = 1Dox = x * 2Print xLoop Until__x<=32__16. 下列程序段的执行结果为__2 3 5__。
GUI图形用户界面设计及实践试卷(答案见尾页)一、选择题1. GUI图形用户界面的主要目的是什么?A. 提供高效的系统性能B. 增强用户体验C. 简化系统维护D. 降低硬件成本2. 在GUI设计中,下列哪个元素不是用来表示交互的?A. 按钮B. 菜单C. 图标D. 文本框3. 为了提高用户体验,GUI设计中应遵循的原则不包括以下哪项?A. 简洁明了B. 冗余信息C. 一致性D. 反馈机制4. 在GUI设计中,图标的使用应该遵循什么原则?A. 大小统一B. 风格一致C. 颜色鲜艳D. 形状各异5. 下列哪种布局方式最适合用于教学类软件的用户界面?A. 树状结构B. 网状结构C. 流程图结构D. 图标列表结构6. 在GUI设计中,为了使界面更加直观,设计师通常会使用哪种类型的图表?A. 业务流程图B. 状态图C. 程序流程图D. 组件图7. 在GUI设计中,颜色对比度对于可读性有何影响?A. 颜色对比度越高,可读性越好B. 颜色对比度越低,可读性越好C. 颜色对比度与可读性无关D. 颜色对比度适中即可8. 在GUI设计中,为了避免用户混淆,设计师应该如何处理相似元素?A. 随机排列B. 分开放置C. 颜色不同但位置相同D. 颜色相同但位置不同9. 在GUI设计中,为了提高响应速度,设计师应该考虑哪些因素?A. 减少元素数量B. 使用动画效果C. 增加文字内容D. 缩小图片尺寸10. 在GUI设计中,如何确定界面的尺寸和布局?A. 根据设计师的个人喜好B. 参考类似软件的界面设计C. 依据用户调研数据D. 随意设定11. 在GUI设计中,图标的使用是为了:A. 增加视觉效果B. 提供快捷操作方式C. 增强图形的可读性D. 降低设计的复杂性12. 在选择GUI设计工具时,应考虑哪些因素?A. 系统兼容性B. 用户熟悉度C. 设计理念的符合度D. 以上都是13. 以下哪个原则不属于GUI设计的基本原则?A. 对比与统一B. 比例与尺度C. 颜色与背景的搭配D. 无限的颜色14. 在GUI设计中,为了提高用户体验,应该:A. 减少按钮大小B. 使用过多的动画效果C. 提供清晰的导航D. 避免使用动态内容15. 在GUI设计中,哪种布局方式最适合复杂信息的展示?A. 网格布局B. 流动布局C. 层次布局D. 自由布局16. 在进行GUI设计时,需要考虑的用户群体特征包括:A. 年龄B. 文化背景C. 认知能力17. 在GUI设计中,为了避免用户混淆,应该:A. 避免使用过多的颜色对比B. 使用统一的字体和字号C. 避免过度装饰的图形元素D. 以上都是18. 在GUI设计中,为了提高界面的响应速度,应该:A. 减少图片的使用B. 增加动画效果C. 减少元素的交互次数D. 以上都是19. 在GUI设计中,为了使界面更加友好,应该:A. 使用过多的专业术语B. 提供清晰的操作指引C. 避免使用复杂的布局结构D. 以上都是20. GUI图形用户界面的基本组成元素包括哪些?A. 窗口、按钮、文本框、列表框B. 菜单栏、工具栏、状态栏、导航栏C. 图标、窗口、按钮、菜单D. 菜单、工具栏、对话框、状态栏21. 在GUI设计中,图标的主要作用是:A. 提供用户反馈B. 增强视觉效果C. 作为快捷方式D. 表示文件类型22. 以下哪个不是常见的GUI布局方法?B. 流行布局C. 分层布局D. 自适应布局23. 在GUI设计中,为了提高用户体验,应该遵循的原则不包括:A. 简洁明了B. 易用性C. 难以理解D. 反馈及时24. 在选择GUI组件时,应考虑组件的()和()。
实验四图形用户界面设计一、实验目的1、了解图形用户界面的基本组件、窗口、按钮、文本框、选择框、滚动条等的使用方法。
2、了解如何使用布局管理器对组件进行管理。
3、掌握如何使用Java 的事件处理机制。
二、实验要求1、能够编写图形用户界面,使用最基本的Swing组件(JFrame、JTextField、JTextArea、JLabel、JPanel、JButton、JOptionPane)。
2、能够针对具体界面分析其布局。
3、为界面添加事件处理。
三、实验内容1、复习课堂上及书上的例子。
2、分析图1所示界面的布局,生成同样的界面。
(考点:布局管理器)图1 布局管理器的嵌套3、生成一个登录界面,如图2所示。
(考点:界面设计+事件处理)实验要求:1)密码框的回显字符设为’*’;2)当用户输入的用户名与密码均为“admin”时,点“确定”按钮后程序正常退出(利用System.exit(int)语句);3)当用户输入的用户名与密码不同为“admin”时,点“确定”按钮后弹出如图3所示的消息框;4)若点击“重置”按钮,可将文本框和密码框同时清空。
实验提示:1)密码框为java.awt.JPasswordField类对象public void setEchoChar(char c)设置此 JPasswordField 的回显字符。
public char[]getPassword()返回此 TextComponent 中所包含的文本。
2)ng.System类public static void exit(int status)终止当前正在运行的 Java 虚拟机。
参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
3)对于“确定”按钮有两种处理方式,分别对应于正确与错误的用户名密码对。
4)java.awt.event.ActionEvent类public String getActionCommand()返回与此动作相关的命令字符串。
第七章图形用户界面设计--实验题目一、实验目的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.编写一个应用程序,实现如下图所示的图形界面。
要求在文本框中输入有关信息,单击“OK”按钮,在下面的文本区域中显示信息,单击“Clear”按钮将所有数据清除,且要求单击关闭按钮可将窗口关闭。
实验三图形用户界面设计(汽院含答案)实验三图形用户界面设计实验目的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布局。
实验八:matlab的图形用户界面设计3
实验要求:
1.熟悉并掌握图形用户界面设计的基本方法和步骤。
2.掌握ActiveX控件在GUI中的应用。
3.掌握常用预定义对话框的用法。
实验内容:
1、使用ActiveX中的圆控件(Mwsamp Control),试编写一m
文件程序,改变这个圆的半径并显示新半径的值。
效果如图1
所示。
2、编写一段程序,实现如下功能:弹出一个文件选择对话框,等待用户选择jpg文件或bmp文件,
然后显示在figure窗口内。
3、编写一个函数文件mywaitbar,在窗口内任意指定位置创建一个进度条,并能设置进度条的进度标好进度。
《界面设计》习题与答案(解答仅供参考)一、名词解释1. 界面设计(UI Design):界面设计是指对软件、网站、移动应用等交互产品的图形用户界面进行规划和设计的过程,旨在通过优化视觉表现、布局结构以及交互行为,提高用户体验,实现人与产品之间的有效沟通。
2. 交互设计(Interaction Design):交互设计是界面设计的重要组成部分,关注于用户与产品互动的方式,包括信息架构、操作流程、反馈机制的设计,以确保用户在使用过程中能够高效、便捷且愉快地完成目标任务。
3. 用户体验(User Experience, UX):用户体验是对用户在使用特定产品或系统过程中建立的主观感受和情感反应的总称,涵盖了从最初的接触、使用到最终离开的全部过程中的认知、情绪、审美、功能性及可用性等方面的体验。
4. 布局设计(Layout Design):布局设计是在界面设计中针对屏幕空间进行合理分配和组织的过程,它决定了页面元素的位置、大小、间距等属性,旨在清晰传达信息层级,引导用户注意力,提供直观易用的导航路径。
5. 可访问性设计(Accessibility Design):可访问性设计是指在界面设计中充分考虑不同用户群体的需求,包括但不限于视力障碍、听力障碍、行动不便或其他特殊需求的用户,通过技术手段确保他们也能方便有效地获取和使用产品功能。
二、填空题1. 界面设计的目标之一是提升用户的______。
答案:满意度/体验2. 在界面设计中,色彩、字体、图标等属于______元素。
答案:视觉设计3. 界面设计师通常需要依据______来创建符合用户需求和习惯的设计方案。
答案:用户研究/用户画像/用户需求分析4. 为了便于用户理解和记忆,界面上的功能按钮应保持一致性原则,即同一功能在不同场景下的表示方式应______。
答案:一致5. ______是指在界面设计中,使所有用户无论年龄、能力、文化背景都能公平、容易地获取和使用产品内容的技术和方法。
实验五图形用户界面设计(2)一、实验目的(1) 掌握编写独立运行的窗口界面的方法。
(2) 了解 Java Swing 组件的使用方法。
(3) 理解 Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
(4) 掌握常用图形用户界面的设计方法。
二、实验要求通过实验理解java的事件处理机制,能够对常见事件AcitonEvent, WindowEvent, KeyEvent, MouseEvent进行处理。
三、实验内容(一)建立独立运行的窗口界面并使用匿名类处理事件最常使用的容器是窗口,在Java 中窗口由Frame或JFrame 类生成,编写Demo5_21.java 程序文件。
程序功能:创建一个具有关闭功能的空白窗口。
源代码如下:import java.awt.*;import java.awt.event.*;public class Demo5_21{Demo5_21(){Frame f=new Frame("初始窗口");f.setSize(350,200);f.setVisible(true); //为窗口添加窗口事件适配器f.addWindowListener(new WindowAdapter(){ //内部匿名类关闭窗口,实现方法windowClosingpublic void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String[] args) {new Demo5_21();}}编译并运行程序[思考] 导入包时,可否将import java.awt.event.*;省去不写。
为什么?(二)使用Swing 组件、了解事件处理机制在Java 中,能够实现图形用户界面的类库有两个:java.awt 和javax.swing。
前者称为抽象窗口工具库AWT(Abstract Windows Toolkit),后者是Java 基础类库JFC(Java Foundation Classes)的一个组成部分,它提供了一套功能更强、数量更多、更美观的图形用户界面组件。
ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班级学号姓名指导教师成绩
实验题目图形用户界面设计—窗口设计实验时间
一实验目的
1. 练习图形用户界面设计;
2. 实现一个单文档的窗体程序;
3. 掌握在Microsoft Visual 2012或者Java IDE环境下设计图形界面编程技术。
二实验平台
2.1操作系统:
Windows 7或者Windows 10
2.2开发环境:
Microsoft Visual 2012或者Java IDE。
三实验内容和要求
将实验一中实现的单文档程序,设计成图形用户界面程序。
主要实现以下功能。
(1)设计状态栏,对于选中的菜单项,在状态栏给出相应提示。
(2)窗口可以最大化和最小化,可以用鼠标缩放界面大小,并能自动根据窗体的大小调整界面控件的位置和大小。
(3)用户可以定制菜单和工具栏;
(4)关闭窗体时给出提示信息,让用户确认是否关闭程序。
四实验报告
4.1 实验环境:
4.2 实验内容与完成情况:
4.3 出现的问题:
4.4 解决方案(列出遇到的问题和解决办法,列出没有解决的问题)
1。
实验6. 图形用户界面设计一、 实验目的1. 掌握图形对象属性的基本操作;2. 掌握菜单及对话框设计、建立控件对象的方法。
二、 实验环境1. 计算机2. matlab7.1三、 实验说明1. 正确操作,认真观察;2. 实验学时:2学时;3. 学会使用help ;4. 保存整理实验结果,提交实验报告。
四、 实验内容1.设计如教材P374 图1所示的菜单,并在此基础上增加选项:可以改变曲线的颜色,可以改变窗口背景颜色。
2.(选做)采用图形用户界面,从键盘输入参数a 、b 、n 的值,考察参数对极坐标曲线)cos(θρn b a +=的影响。
五、 实验程序及结果screen=get(0,'ScreenSize');W=screen(3);H=screen(4);figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.5*W,0.3*H],...'Name','图形演示系统','NumberTitle','off','MenuBar','none'); %定义plot 菜单项hplot=uimenu(gcf,'label','&plot');uimenu(hplot,'Label','Sine Wave','call',...['t=-pi:pi/20:pi;','h1=plot(t,sin(t));']);uimenu(hplot,'Label','Cosine Wave','call',...['t=-pi:pi/20:pi;','h2=plot(t,cos(t));']);uimenu(hplot,'Label','&Exit','call','close(gcf)');hw=uimenu(gcf,'label','&Wcolor');uimenu(hw,'Label','红色','call','set(gcf,’’Color’’,’’r’’);')uimenu(hw,'Label','黄色','call','set(gcf,’’Color’’,’’y’’);')uimenu(hw,'Label','绿色','call','set(gcf,’’Color’’,’’g’’);')hc=uicontextmenu;hc1=uimenu(hc,'Label','线宽');hc2=uimenu(hc,'Label','线色');uimenu(hc2,'Label','红色','call',['set(h1,’’Color’’,’’r’’);', 'set(h2,’’Color’’,’’r’’);' ]);uimenu(hc2,'Label','蓝色','call',['set(h1,’’Color’’,’’b’’);', 'set(h2,’’Color’’,’’b’’);' ]);uimenu(hc2,'Label','青色','call',['set(h1,’’Color’’,’’c’’);', 'set(h2,’’Color’’,’’c’’);' ]);set(hl,'UIContextMenu',hc);set(hl2,'UIContextMenu',hc);。
图形用户界面设计案例分析考试(答案见尾页)一、选择题1. 图形用户界面(GUI)设计的基本原则是什么?A. 简洁性B. 可读性C. 规范性D. 一致性2. 在GUI设计中,色彩运用的主要目的是什么?A. 创造视觉冲击B. 表示层次感C. 强化情感反应D. 提高辨识度3. 图形用户界面中的字体选择应遵循以下哪个原则?A. 字体大小应保持一致B. 使用品牌指定的字体C. 字体颜色与背景色应有明显对比D. 所有文本都应该使用斜体4. 图形用户界面中的按钮设计应该考虑以下哪些因素?A. 按钮的大小B. 按钮的形状C. 按钮的标签D. 按钮的响应方式5. 在GUI设计中,图标的设计应遵循以下哪个原则?A. 图标应该简洁明了B. 图标应该具有辨识度C. 图标应该与文本内容相关联D. 图标应该具有统一的设计风格6. 图形用户界面中的网格系统主要用于?A. 决定元素的位置B. 决定元素的尺寸C. 决定元素的对齐方式D. 决定元素的颜色7. 在GUI设计中,如何平衡美观性和实用性?A. 严格按照设计规范进行设计B. 结合用户需求进行设计C. 追求极简主义设计D. 结合品牌识别进行设计8. 图形用户界面中的提示信息应起到什么作用?A. 提供操作指引B. 提醒用户注意事项C. 增强用户体验D. 提升界面美感9. 在GUI设计中,如何处理不同的用户输入?A. 验证输入数据的合法性B. 快速响应用户的输入C. 提供输入反馈D. 设计友好的错误提示信息10. 图形用户界面设计中的原型制作通常使用哪种工具?A. Adobe PhotoshopB. SketchC. Adobe IllustratorD. Figma11. 什么是图形用户界面(GUI)?请给出三个定义,并解释它们之间的区别。
A. 一个用于显示信息和接收用户输入的二维或三维视觉元素集合。
B. 一个用户与计算机系统交互的方式,包括图标、菜单和窗口。
C. 一种用户友好的界面,旨在优化用户体验和效率。
计算机图形界面设计测试(答案见尾页)一、选择题1. 在计算机图形界面(GUI)设计中,什么是“响应式设计”?A. 使界面在不同设备上呈现出相同的外观和功能B. 优化用户界面组件的性能C. 改善用户与界面的交互体验D. 提升界面的美观度2. 常见的图形用户界面(GUI)布局方法有哪些?A. 栅格布局B. 弹性布局C. 网格布局D. 边界布局3. 什么是“图标”在图形用户界面中的含义?A. 图标是桌面小工具或工具栏的一部分,用于快速访问常用功能B. 图标是用户界面中用于表示文件、文件夹或应用程序的小图像C. 图标是桌面背景的一部分,用于装饰桌面D. 图标是界面中用于指示系统状态的指示器4. 在GUI设计中,如何平衡美观和实用性?A. 遵循现代设计原则,如简洁、直观、易用性B. 使用大量的动画和视觉效果来提升用户体验C. 确保界面在不同设备和分辨率下都能良好显示D. 以上都是5. 什么是“布局”在图形用户界面设计中的重要性?A. 布局决定了用户界面的整体结构和组织方式B. 布局需要考虑到不同设备的屏幕尺寸和分辨率C. 布局影响用户界面的导航和交互逻辑D. 布局是用户与界面进行交互的唯一途径6. 在GUI设计中,“可访问性”是指什么?A. 界面设计对所有用户,包括视觉、听觉或运动障碍者,都易于使用和理解B. 界面设计只考虑符合特定文化或语言的用户C. 界面设计只关注用户界面的视觉方面D. 界面设计只关注用户界面的功能和操作7. 什么是“层次结构”在GUI设计中的作用?A. 有助于组织和管理界面中的元素,使其更易于理解和使用B. 有助于保持界面的简洁,避免信息过载C. 有助于定义界面的不同部分,以实现特定的功能或目的D. 以上都是8. 在GUI设计中,如何处理不同的屏幕尺寸和分辨率?A. 使用固定的尺寸和布局,以确保在所有设备上都能保持一致的效果B. 使用响应式设计,使界面能够自动调整以适应不同的屏幕尺寸和分辨率C. 设计一个包含多种布局和样式的界面,以适应不同的设备需求D. 以上都是可能的解决方案9. 什么是“设计模式”在GUI设计中的应用?A. 设计模式是预定义的设计解决方案,可用于解决常见的问题或设计挑战B. 设计模式是适用于所有类型的项目的设计方法和策略C. 设计模式是特定于某个行业或应用领域的设计解决方案D. 设计模式是设计师的个人创意和经验总结10. 在GUI设计中,如何确保用户输入的安全性和准确性?A. 对用户输入进行严格的验证和过滤,防止恶意攻击B. 使用加密技术保护用户数据C. 提供清晰的错误提示和建议,帮助用户更正输入D. 以上都是11. 在计算机图形界面设计中,哪个元素不是用来接收用户输入的?B. 输入框C. 下拉菜单D. 颜色选择器12. 图形用户界面(GUI)设计中,哪个特性是指界面元素的布局方式?A. 交互性B. 可访问性C. 响应性D. 视觉层次性13. 在设计一个网站的导航栏时,应该考虑哪些用户体验因素?A. 导航的清晰性B. 页面加载速度C. 交互方式的多样性D. 设计的一致性14. 为了提高网站的用户友好性,应该遵循以下几个原则?A. 简洁明了的布局B. 适当的色彩搭配C. 适应性强的设计D. 易用性15. 在移动应用界面设计中,什么是“响应式设计”?A. 设计能够适应不同设备的屏幕尺寸B. 设计能够适应不同操作系统的风格C. 设计能够适应不同网络环境的性能D. 设计能够适应不同用户群体的需求16. 在创建网页时,使用哪种HTML标签来创建一个链接?A. <a>B. <link>C. <button>17. 在设计一个桌面应用程序的界面时,应该考虑哪些功能模块?A. 用户登录和身份验证B. 数据存储和备份C. 用户反馈和支持D. 多语言支持18. 在进行图形设计时,如何确定图形的颜色搭配?A. 使用颜色轮来选择互补色B. 根据品牌指南设计颜色方案C. 使用对比度高的颜色来突出重要信息D. 避免使用过多的颜色,以免造成视觉混乱19. 在设计一个触摸屏应用界面时,应该考虑哪些因素?A. 触摸目标的尺寸和比例B. 触摸反应的灵敏度C. 触摸操作的容错性D. 设计简洁直观的操作流程20. 在进行网页设计时,如何优化页面的加载速度?A. 减少使用的CSS和JavaScript数量B. 优化图片大小和格式C. 利用浏览器缓存D. 使用异步加载技术21. 在计算机图形界面设计中,什么是“响应式设计”?A. 使界面在不同设备上呈现出相同的外观和功能B. 优化用户界面以便更好地适应不同屏幕尺寸和分辨率C. 使用固定的图形和文本布局,无论设备如何D. 设计一个完全独立的图形界面,不依赖于其他程序或系统22. 在进行计算机图形界面设计时,为了提高可访问性,应该:A. 避免使用对比度高的颜色组合B. 使用大的字体和清晰的图标C. 将所有信息都放在一个对话框中展示D. 设计过于复杂的动画效果23. 在GUI编程中,什么是“事件处理”?A. 事件处理是一种编程机制,用于接收和处理用户输入B. 事件处理是一种编程技术,用于处理计算机的硬件资源C. 事件处理是一种编程模式,用于管理用户界面中的用户交互D. 事件处理是一种算法,用于处理数据集合中的特定模式24. 在选择最佳字体大小时,应该考虑以下哪个因素?A. 文本的可读性B. 字体的美观性C. 屏幕的分辨率D. 计算机的性能25. 在创建自定义图标时,应该使用哪种工具或软件?A. 图像编辑软件B. 矢量图形软件C. 图形设计软件D. 计算机图形卡26. 在设计用户界面时,为了确保一致性,应该遵循以下原则:A. 使用统一的色彩方案B. 保持一致的字体和图标大小C. 使用相同的按钮样式D. 所有这些都遵循27. 在移动设备上,为了提供更好的用户体验,应该:A. 设计更大的按钮和图标B. 使用更复杂的动画效果C. 减少文本长度D. 提供多种语言支持28. 在进行图形设计时,为了确保图像的质量,应该:A. 使用高质量的图像数据B. 使用高分辨率的图像C. 对图像进行滤镜处理D. 使用多种不同的图像风格29. 在GUI设计中,什么是“布局”?A. 界面中各个元素的位置和排列方式B. 界面的视觉外观C. 用户与界面的交互方式D. 界面的功能实现30. 在设计用户界面时,为了提高易用性,应该避免以下哪种做法?A. 使用过多的文本和复杂的术语B. 提供详细的帮助文档C. 设计过于直观的界面D. 避免使用标准的UI组件31. 在计算机图形界面(GUI)设计中,下面哪个元素不是用来接收用户输入的?A. 按钮B. 文本框C. 列表框D. 颜色选择器32. 在GUI设计中,为了确保文本框能够接受用户输入,应该选择哪个属性?A. EnabledB. VisibleC. FocusableD. Selectable33. 下面哪个属性用来定义按钮的大小?A. HeightB. WidthC. PaddingD. Margin34. 在创建自定义按钮时,通常需要重写哪个方法?A. paintComponent()B. initComponents()C. updateUI()D. actionPerformed()35. 在GUI设计中,图标通常用于表示文件、文件夹或系统命令。
实验三图形用户界面设计实验目的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)调试、编译和运行程序,并显示正确界面。
2.日历应用程序设计编写一个应用程序,设计一个窗体,该窗体为BorderLayout布局。
窗体的中心添加一个Panel容器:Panel容器的布局是7行7列的GridLayout布局,Panel容器中放置49个标签,用来显示日历。
窗口的北面添加一个Panel容器,其布局是FlowLayout 布局,Panel容器中放置两个按钮:nextMonth和previousMonth。
窗口的南面添加一个Panel容器,其布局是FlowLayout,Panel容器中放置一个标签用来显示一些信息。
请按以下步骤完成程序设计:1)编写CalendarBean类,实现日期类:public class CalendarBean {String day[];int year = 2013, month = 0;public void setYear(int year) {this.year = year;}public int getYear() {return year;}public void setMonth(int month) { this.month = month;}public int getMonth() {return month;}//返回某年某月1号开始的日期数组public String[] getCalendar() {String a[] = new String[42];Calendar 日历= Calendar.getInstance();//注意:1月份是从0开始,所以要减1日历.set(year, month - 1, 1);int星期几= 日历.get(Calendar.DAY_OF_WEEK) - 1;int day = 0;if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {day = 31;}if (month == 4 || month == 6 || month == 9 || month == 11) { day = 30;}if (month == 2) {if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {day = 29;} else {day = 28;}}for (int i = 星期几, n = 1; i < 星期几+ day; i++) { a[i] = String.valueOf(n);n++;}return a;}}2)补充代码,完成日历窗体界面类设计:public class CalendarFrame extends Frame {Label labelDay[] = new Label[42];Label labelYear;Button titleName[] = new Button[7];Button nextMonth, previousMonth;Label showMessage;TextField inputYear;CalendarBean calendar;String name[] = { "日", "一", "二", "三", "四", "五", "六" };int year = 2013, month = 1;String days[];public CalendarFrame() {calendar = new CalendarBean();calendar.setYear(year);calendar.setMonth(month);days = calendar.getCalendar();ScrollPane scrollPane = new ScrollPane();scrollPane.add(getCenterPanel());【补充代码】// 窗口添加scrollPane在中心区域【补充代码】// 窗口添加pNorth 在北面区域【补充代码】// 窗口添加pSouth 在南区域。