图形界面设计实验
实验四 图形用户界面编程 实验报告
实验四图形用户界面编程实验报告一、实验目的1. 掌握常用组件的定义及使用2. 理解常见的布局方式及其特点3. 掌握事件处理机制二、实验原理1. 常用控件:① JTextField:用于接受文本输入,表现为图形界面中文本框。
② JLabel:标签控件,表现为图形界面中的文字控件。
③ JSplitPane:一个用于把面板分成两个大小可以调整的面板的控件。
④JScrollPane:一个提供滚动支持的面板,当内容超出面板大小时,会自动下按时滚动条。
⑤ JPanel:普通的面板。
可以通过布局管理器来控制面板中控件的布局。
⑥ JButton:按钮控件。
⑦ JPasswordField:用于接受密码的输入,表现为图形界面的密码输入框。
⑧ JList:列表框控件。
2. 每次单击按钮控件时,可以通过addActionListener方法对按钮注册监听,从而实现单击事件的监听。
三、实验内容通过编写一个程序实现上面的界面四、实验过程1. 界面的分析,实验要求中的界面主要分成上下的两部分,界面的下面部分用于显示在上面文本框输入的用户名和密码,而上部分又分成了输入姓名和密码的区域。
而且根据实验的要求,需要把输入的用户名和密码添加到列表框之中,这需要一个按钮。
根据分析,可以得到整个界面控件的关系如下:2. 代码的编写:首先,如果要创建一个窗口,则需要编写一个JFrame的子类。
public class MainFrame extends JFrame {}然后,在类之中声明需要用的控件(需要用的控件在上述已经全部列出)private JSplitPane mainSplitPane = null;private JSplitPane inputSplitPane = null;private JSplitPane topSplitPane = null;private JScrollPane listBoxPane = null;private JPanel buttonPanel = null;private JPanel usernamePanel = null;private JPanel passwordPanel = null;private JButton okButton = null;private JTextField username = null;private JPasswordField password = null;private JList listBox = null;private JLabel usernameLabel = null;private JLabel passwordLabel = null;再然后,编写类的构造方法,对控件进行初始化以及进行相应的布局,同时对JFrame 的一些属性进行调整。
lab11-图形用户界面(GUI)设计
实验11 图形用户界面(GUI)设计一、实验目的●掌握容器、组件的概念;●熟悉常用容器Frame、Panel等的使用;●熟悉常用组件Label、Button、TextField、TextArea、List、Choice、Checkbox等的使用。
●掌握常用布局管理器的使用;●掌握下拉式菜单(一级、二级)的设计——创建菜单条、菜单、菜单项对象,并进行正确的装配;●掌握Font类及Color类二、实验要求●熟练掌握Frame、Panel的用法●熟练掌握常用组件的使用●熟练掌握布局管理器的使用●掌握下拉式菜单的使用三、实验环境●Eclipse IDE或者MyEclipse IDE四、考查知识点1.AWT核心概念:组件、容器和布局管理器组件--Component组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。
组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来,是Java的图形用户界面的最基本组成部分。
容器—Container容器(Container)也是一个类,实际上是Component的子类,因此,容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。
布局管理器--LayoutManager布局管理器(LayoutManager):每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。
2.Swing概述Swing是第二代GUI开发工具Swing:又称为轻量级组件,它是Java的改进版本,是第二代GUI开发工具;AWT采用了与特定平台相关的实现,而绝大多数Swing组件却不是,Swing 组件显示不依赖于本地对等组件;Swing是构筑在AWT上层的一组GUI组件的集合,为保证可移植性,它完全用Java语言编写;与AWT相比,Swing提供了更完整的组件,引入了许多新的特性和能力。
图形用户界面实验报告
图形用户接口一、实验目的·了解嵌入式系统图形界面的基本编程方法·学习图形库的制作二、原理概述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),即可实现清屏。
实验一:图形用户界面设计
实验一图形用户界面设计一实验目的和要求1)熟悉图形用户界面的设计原则遵循用户友好原则、一致性原则、帮助和提示等原则设计用户界面。
2)利用一种设计工具完成图形化的用户界面设计二实验内容与步骤(一)实验内容利用常用的设计工具(UI界面设计工具GUI Design Studio)完成一个通用图形用户界面设计,要遵循界面设计的一般原则(一致性、快捷方式、提供错误处理),注意颜色的使用,学会图标、按钮、屏幕布局、菜单和对话框的设计。
软件的界面如同人的脸一样,软件界面的好坏决定了用户对软件的第一印象。
设计好的界面能够引导用户自己完成相应的操作,起到引导作用。
设计合理的界面能给用户带来轻松愉悦的感受。
一些专家指出:对于用户,人机界面就是系统本身。
这充分说明了软件界面设计的重要性。
请完成各自的系统用户界面的设计。
(二)实验步骤1.设计多个对话框,完成填表输入界面的设计,合理使用图标、按钮、颜色;2.设计不同形式的菜单,完成对不同对话框的调用;3.提供简单的错误处理、联机帮助。
GUI Design Studio主界面三界面示例1、登录界面2、主界面3、聊天界面4、QQ空间界面四实验总结1.界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致。
2.颜色是一种有效的强化手段,同时具有美学价值。
使用颜色时应注意如下几点:限制同时显示的颜色数;画面中活动对象的颜色应鲜明,而非活动对象应暗淡;尽量避免不相容的颜色放在一起,如黄与蓝,红与绿等,除非作对比时用;若用颜色表示某种信息或对象属性,要使用户理解这种表示,并尽量采用通用的表示规则。
3.图标是可视地表示实体信息的简洁、抽象的符号。
图标设计是方寸艺术,需要在很小的范围内表现出图标的内涵。
设计图标时应该着重考虑视觉冲击力,要使用简单的颜色,利用眼镜对色彩和网点的空间混合效果,做出精彩图标。
【实验E】 图形界面设计
设计部分: (1)题目:设计一个窗口界面,用于学 生基本信息的输入。使用多种界面元素, 如JButton,JTextField,JCheckBox, JComboBox等。能够把输入信息保存入 文件。器界面: (a)实现文本文件的输入、文件载入和保 存等基本功能;使用文件对话框; (b)增加菜单项;使用合理的布局;使用 下拉列表进行字号选择;使用颜色对话 框进行文本背景色、文本颜色的选择; 使用消息对话框进行各种信息提示。 要求:处理各种事件响应。
实验E 图形界面设计
第15周实验课
1. 实验目的
通过用户图形界面设计,掌握Java Swing开发的基本方法。
2. 实验内容
验证部分:
课本pg.231–程序Example10_1.java
课本pg.246—程序Example10_7.java
课本pg.265—程序Example10_15.java 课本pg.284—程序Example11_2.java
3. 实验要求
1、理解GUI容器类和组件类的使用;
2、理解布局方法和各种常用组件的用法;
3、掌握事件响应的基本处理方法。
4. 提交说明
提交时间:本次实验课后2周内。
青岛理工大学人机交互实验二:图形用户界面设计
实验2. 图形用户界面设计一、实验目的1 熟悉图形用户界面的设计原则2利用一种设计工具完成图形化的用户界面设计二、实验环境1.计算机2.Vs2012三、实验内容用常用的设计工具(VC/VB/Delphi/PB等)完成一个通用图形用户界面设计,要遵循界面设计的一般原则(一致性、快捷方式、提供错误处理),注意颜色的使用,学会使用图标、按钮、屏幕布局、菜单和对话框的设计.四、实验步骤1.设计多个对话框,完成填表输入界面的设计,合理使用图标、按钮、颜色;2.设计不同形式的菜单,完成对不同对话框的调用;3.提供简单的错误处理、联机帮助五、实验程序及结果1.主要程序如下privatevoid button1_Click(object sender, EventArgs e){int j, K = 0;char[] s = newchar[30];string n=textBox2.Text +" "+textBox1.Text;string m;if (textBox1.Text == "" || textBox2.Text == ""){MessageBox.Show("账号,密码不能为空");}FileStream fr = new FileStream("D:\\ONE PIECE\\onepiece.txt",FileMode.Open,FileAccess .Read);for (int i = 0; i < fr.Length; i++){for (j = 0; j < fr.Length; j++){s[j] = (char)fr.ReadByte();if (s[j] == '\\'){break;}}s[j] = '\0';m = newstring(s,0,j);if (m == n){K = 1;break;}Array.Clear(s, 0, s.Length);}if (K == 1){this.DialogResult = DialogResult.OK;this.Close();}elseMessageBox.Show("账号或密码错误!");}privatevoid button2_Click(object sender, EventArgs e){Form3 f3 = new Form3();f3.Show();}publicpartialclass Form3 : Form{public Form3(){InitializeComponent();}privatevoid button1_Click(object sender, EventArgs e){FileInfo fi = new FileInfo("D:\\ONE PIECE\\one piece.txt"); if(!Directory .Exists("D:\\ONE PIECE")){Directory.CreateDirectory("D:\\ONE PIECE");}if (!fi.Exists){fi.Create();}if (textBox2.Text == "" || textBox3.Text == "" || textBox3.Text != textBox4.Text) {MessageBox.Show("注册失败!");this.Close();}else{StreamWriter strw = new StreamWriter("D:\\ONE PIECE\\one piece.txt", true);strw.Write(textBox2.Text + " " + textBox3.Text + "\\");strw.Close();MessageBox.Show("注册成功!");this.Close();}}privatevoid timer1_Tick(object sender, EventArgs e){label1.Text = DateTime.Now.ToString();}2.主要界面图一登陆图二注册图四主界面图五功能显示图六反馈。
实验三--图形用户界面设计(汽院含答案)
实验三图形用户界面设计实验目的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 图形用户界面设计
实验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,如图所示。
实验6图形用户界面设计
实验6. 图形用户界面设计一、 实验目的1. 掌握图形对象属性的基本操作;2. 掌握菜单及对话框设计、建立控件对象的方法。
二、 实验环境1. 计算机;2. Matlab 软件。
三、 实验说明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;','hl=plot(t,sin(t));','set(hl,''UIContextMenu'',hc);']);uimenu(hplot,'Label','Cosine Wave','Call',...['t=-pi:pi/20:pi;','hl=plot(t,cos(t));','set(hl,''UIContextMenu'',hc);'] );uimenu(hplot,'Label','Exit','Call','close(gcf)');hoption=uimenu(gcf,'Label','&Option');%定义Window Color选项hwincor=uimenu(hoption,'label','&Window Color');uimenu(hwincor,'Label','&Red','Accelerator',...'r','Call','set(gcf,''Color'',''r'');');uimenu(hwincor,'Label','&Blue','Accelerator',...'b','Call','set(gcf,''Color'',''b'');');uimenu(hwincor,'Label','&Yellow','Call',...'set(gcf,''Color'',''y'');');uimenu(hwincor,'Label','&White','Call',...'set(gcf,''Color'',''w'');');%定义Line Color选项hlinecolor=uimenu(hoption,'Label','&Line Color');uimenu(hlinecolor,'Label','&Red','Accelerator',...'r','Call','set(hl,''Color'',''r'');');uimenu(hlinecolor,'Label','&Blue','Accelerator',...'b','Call','set(hl,''Color'',''b'');');uimenu(hlinecolor,'Label','&Yellow','Call','set(hl,''Color'',''y'');'); uimenu(hlinecolor,'Label','&White','Call','set(hl,''Color'',''w'');'); hl=plot(t,sin(t));hc=uicontextmenu;hlinefigure=uimenu(hoption,'Label','&Line figure');uimenu(hlinefigure,'Label','虚线','Call','set(hl,''LineStyle'','':'');');uimenu(hlinefigure,'Label','加宽','Call','set(hl,''LineStyle'',''2'');');。
实验八--图形用户界面设计
实验八图形用户界面(GUI)设计(说明:本次实验在4学时内独立完成)一、实验目的1. 熟悉各种控件和界面菜单的制作。
2. 学会编写控件对象的回调程序(callback函数)。
3. 熟练使用GUI开发工具GUIDE设计用户界面。
二、实验预备知识图形用户界面(Graphical User Interface,简称GUI) 是指由窗口、光标、按键、菜单、文字说明等对象构成的一个人与计算机的交互界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
GUI 的最重要组成是用户菜单(uimenu)和用户控件(uicontrol)。
关于界面菜单,可以参考课件相关部分的介绍,这里主要介绍控件的类型、属性和制作方法。
1.用户控件的类型控件是事件响应的图形对象。
当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(即回调函数Callback)。
MATLAB中有10种不同类型的控件(下图):①单功能按钮(Push Button);②单选按钮(Radio Button);③双位按钮(ToggleButton);④复选框(Check Box);⑤列表框(List Box);⑥弹出框(Popup Menu);⑦静态文本框(Static Text);⑧可编辑文本框(Edit Text);⑨滑标或滚动条(Slider);⑩框架(Frame)。
这些控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应;一种为静态控件,是不产生响应的控件,如静态文本框等。
表1给出了各种控件的描述。
2.用户控件的属性每种控件都有一些可以设置的属性参数,用于表现控件的外形、功能及效果。
属性由两部分组成:属性名和属性值,它们必须是成对出现的。
用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。
下面介绍部分较常用的控件属性:●Tag取值为字符串,定义了控件的标识(标签),在任何程序中都可以通过这个标识控制该控件对象。
实验6 图形界面设计
实验6. 图形界面设计6.1思考题1 一个部件会在水平方向会改变大小,但垂直方向不变,应放到什么位置?C A.BorderLayout 布局的或位置B.FlowLyout布局的第一个部件(水平垂直都不发生变化)C. BorderLayout布局的East或West位置D. BorderLayout布局的Center位置E.GridLayout布局中(网格布局,水平垂直都会发生改变)2 以下AWT类中哪些实现部件的布局?ABEyoutManagerB.GridBagLayoutC.ActionListenerD.WindowAdapterE. FlowLayout3. 设有以下程序:Cimport java.awt.*;public class FlowAp extends Frame{public static void main(String argv[]){FlowAp fa=new FlowAp( );fa.setSize(400,300);fa.setVisible(true);}FlowAp( ){add(new Button(〝One〞));add(new Button(〝Two〞));add(new Button(〝Three〞));add(new Button(〝Four〞));}}以下哪个描绘了应用的外观?A.窗体每边有4个标记为One到Four的按钮B.从顶到底安排有4个标记为One到Four的按钮在正中央C.一个很大的标记为Four的按钮在正中央D.运行时指示没有设置布局管理器的错误4如何设置当前的布局管理器?BA.使用setLayout方法B.一旦创建了部件,不能改变部件的布局管理器C.使用setLayoutManager方法D.使用updateLayout方法5以下代码运行后外观为?Aimport java.awt.*;public class CompLay extends Frame{public static void main(String argv[]){CompLay c1=new CompLay( );}CompLay( ){Panel p= new Panel( );p.setBackground(Color.pink);p.add(new Button(〝One〞));p.add(new Button(〝Two〞));p.add(new Button(〝Three〞));add (〝South〞.p);setLayout(new FlowLayout());setSize(300,300);setVisible(true);}}A.按钮按从左到右的次序出现在窗体的底部B.按钮按从左到右的次序出现在窗体的顶部C.按钮将不显示D.只有一个按钮显示占满整个窗体6 以下程序调试结果为?B//演示事件处理import java.awt.*;import java.awt.event.*;public class MyWc extends Frame implements WindowListener{ public static void main(String argv[]){MyWc mwc=new MyWc( );}public void windowClosing(WindowEvent we){System.exit( 0 );}public MyWc(){setSize(300,300);setVisible(true);}}A.编译错误B.创建的窗体会关闭掉C.运行无输出D.编译错误,import语句不能有注释语句7 以下叙述正确的有?A.如果一个部件注册多个监听者,事件将只会被最后一个监听者处理。
实验二 图形用户界面设计与应用
实验二图形用户界面设计与应用一、实验目的1、了解GUI 的基本控件2、掌握通过GUIDE 创建GUI 的方法3、掌握通过程序创建GUI 的方法二、实验仪器1、计算机2、MATLAB 软件环境三、实验指导1. 通过GUIDE 创建GUI本例GUI 的功能为在一个界面中绘制两个图形,为的图像及其快速傅立叶(FFT)的图像。
其中参数、和的值由界面输入。
该GUI 的界面图形如图:该GUI 中需要解决的问题有:a.控制绘图命令的目标坐标系;b.通过文本编辑器输入MATLAB 表达式的参数。
创建GUI 界面打开GUIDE,新建GUI,保存为two_axes。
向其中添加控件并设置这些控件的属性。
设置f1 的Tag 属性为f1_input,初始值为50,f2 的Tag 属性为f2_input,的初始值为120,t 的Tag 属性为t_input,的初始值为0:.001:0.25。
这些初始值为打开该GUI 时的默认值。
由于该GUI 中包含两个图形,在绘制图形时必须指定坐标系。
为实现这一功能,可以使用handles 结构体,该结构体中包含GUI 中所有控件的句柄。
该结构体中的域名为控件的Tag 属性值。
在本GUI 中,我们设置绘制函数时域的坐标系的句柄为time_axes,绘制频域图形的坐标系为frequency_axes,如图所示。
设置后,在响应函数中,可以通过handles.frequency_axes 实现对该坐标系的调用。
设置控件完成后,设置GUI 的属性。
在Tools 菜单中选择GUI options…,弹出窗口如图所示。
该GUI 需要从界面中读入参数,利用读入的参数计算函数的快速傅立叶变换,之后绘制图形。
需要的响应函数只有一个,即按钮的响应函数。
该函数的内容为:function plot_button_Callback(hObject, eventdata, handles)% hObject handle to plot_button (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get user input from GUIf1 = str2double(get(handles.f1_input,'String'));f2 = str2double(get(handles.f2_input,'String'));t = eval(get(handles.t_input,'String'));% Calculate datax = sin(2*pi*f1*t) + sin(2*pi*f2*t);y = fft(x,512);m = y.*conj(y)/512;f = 1000*(0:256)/512;% Create frequency plotaxes(handles.frequency_axes) % Select the proper axesplot(f,m(1:257))set(handles.frequency_axes,'XMinorTick','on')grid on% Create time plotaxes(handles.time_axes) % Select the proper axesplot(t,x)set(handles.time_axes,'XMinorTick','on')grid on代码完成后保存,运行该GUI,得到结果如图:2. 通过程序创建GUI1)需要实现的功能及需要包含的控件要创建的GUI 其功能为在坐标系内绘制用户选定的数据,包含的控件包括:坐标系;弹出菜单,其中包含五个绘图选项;按钮,更新坐标系中的内容;菜单栏,其中包含File 菜单,菜单中包含三个选项,为Open、Print 和Close;工具栏,包含两个按钮,为Open 和Print。
实验4 图形用户界面设计
实验四图形用户界面设计一、实验目的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()返回与此动作相关的命令字符串。
实验二 图形用户界面设计
实验二图形用户界面设计一、实验目的通过编程和上机实验,了解图形用户界面基本组件窗口、按钮、文本框、选择框等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
二、实验要求1.掌握在窗体中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。
2.理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
3.掌握编写独立运行的窗口界面的方法。
三、实验内容Ⅰ基本指导图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add()方法把组件加入到容器中。
Awt和swing的基本使用方法是一致的,在本实验中大部分以awt为例。
1 实现基本的登录窗口,掌握窗体以及常用组件的使用方式。
import java.awt.*;import javax.swing.*;public class LoginFrame extends JFrame{public LoginFrame(){super("User Login");this.setSize(200,120); //设置框架尺寸this.setLocation(300,240);this.setLayout(new FlowLayout()); //框架流布局,居中this.add(new Label("userid")); //创建标签,添加到框架上this.add(new TextField("user1",10)); //创建文本行this.add(new Label("password"));this.add(new TextField(10)); //创建20列的文本行this.add(new Button("Ok")); //创建按钮this.add(new Button("Cancel"));this.setVisible(true); //显示框架}public static void main(String arg[]){new LoginFrame();}}2观察以下程序并自己尝试布局管理器的使用import java.awt.*;import javax.swing.*;class HelloSwing {public static void main(String[] args) {JFrame frame = new JFrame("HelloSwing");// frame.setLayout(new FlowLayout( FlowLayout.RIGHT));frame.setSize(600,400);/*Button btnEast=new Button("东");btnEast.setPreferredSize(new Dimension(220,12));Button btnWest=new Button("西");Button btnNorth=new Button("北");Button btnSouth=new Button("南");Button btnCenter=new Button("中");frame.add(btnEast,BorderLayout.EAST);frame.add(btnWest,BorderLayout.WEST);frame.add(btnNorth,BorderLayout.NORTH);frame.add(btnSouth,BorderLayout.SOUTH);frame.add(btnCenter,BorderLayout.CENTER);frame.setVisible(true);*/Button btn[]; // 声明按钮数组String str[]={"1","2","3","4","5","6","7","8","9"};frame.setLayout(new GridLayout(3,3));btn=new Button[str.length]; // 创建按钮数组for(int i=0;i<str.length;i++){btn[i]=new Button(str[i]); frame.add(btn[i]);}frame.setVisible(true); }}3 编程实现简单的标签、按钮组件,实现点击按钮,改变标签的功能。
实验三 图形界面程序的界面设计
实验三图形界面程序的界面设计一、实验目的1、掌握Java图形界面程序设计的基本思想和步骤。
2、掌握JDK中A WT包和Swing包的基本使用方法和区别。
3、掌握容器和布局的概念和使用。
4、掌握图形界面程序的界面设计方法和步骤。
二、实验内容自己编写所有代码,设计一个程序的界面。
其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”这些提示标签使用组件JLable(或Lable),输入运算数和输出运算数结果使用JTextField(TextField),“相加”、“相减”和“全部清零”使用按钮JButton(或Button)。
请注意查阅JDK的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法用来进行调用。
注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继承完善。
四、分析设计过程首先,利用建立一个JFrame容器,设计容器的大小,并且用setVisible(true)设为可视,定义界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”的标签,并且定义“相加”、“相减”和“全部清零”使用按钮,并且要用setSize()和setLocation()排布好这些按钮以及标签的位置,并且一定要用要用add()方法把这些标签和按钮添加到容器中。
这样子就行了。
五、测试数据和程序运行的结果六、问题与总结整个逻辑思路并不困难,因为只要是懂得Frame容器的定义,JButton,Label等些知识,而老师在例子中给了很多相似的例子,就比较容易。
在我做这个实验的时候,遇到比较困难的地方就是,给标签、按钮的排布,之前一直不是这个按钮不见就是这个标签看不到,而具体的原因是我不懂得各个标签、按钮的比例。
导致,很多东西都无法在界面上显示出来。
七、附录import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Jiemian extends JFrame implements ActionListener{JFrame jfr=new JFrame("Basic Application");//定义一个Frame容器的对象jfrLabel l1=new Label("简易计算器");//定义各个标签Label l2=new Label("运算数一");Label l3=new Label("运算数二");Label l4=new Label("运算结果");JTextField tf1=new JTextField(15);//定义各个JTextField类型的组件,并生成对象实例JTextField tf2=new JTextField(15);JTextField tf3=new JTextField(15);JButton b1=new JButton("相加");//定义各个按钮JButton b2=new JButton("相减");JButton b3=new JButton("全部清零");public Jiemian(){j fr.setSize(260,350);//设计界面的大小jfr.setLayout(null);//设计为null布局l1.setSize(90,30);//设计11的宽度和高度l1.setLocation(80,20);//设计11在界面上左上角的位置坐标l2.setSize(60,30);l2.setLocation(30,70);l3.setSize(60,30);l3.setLocation(30,120);l4.setSize(60,30);l4.setLocation(30,170);tf1.setSize(100,30);tf1.setLocation(120,70);tf2.setSize(100,30);tf2.setLocation(120,120);tf3.setSize(100,30);tf3.setLocation(120,170);b1.setSize(60,30);b1.setLocation(50,220);b2.setSize(60,30);b2.setLocation(140,220);b3.setSize(100,30);b3.setLocation(80,270);jfr.add(l1);//添加到容器上jfr.add(l2);jfr.add(l3);jfr.add(l4);jfr.add(tf1);jfr.add(tf2);jfr.add(tf3);jfr.add(b1);jfr.add(b2);jfr.add(b3);jfr.setLocation(500,150);jfr.setVisible(true);}public static void main(String args[]) { Jiemian ja=new Jiemian();}}。
JAVA实验-图形界面设计
广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2014年11月14日一、实验目的实验十图形用户界面(1)1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,·2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
实验十一图形用户界面(2)1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
二、实验器材MacBook Pro一台操作系统:OS X Yosemite\编程软件:eclipse三、实验要求实验十图形用户界面(1)1. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
2. 掌握编写独立运行的窗口界面的方法。
3. 了解Java Swing 组件的使用方法。
4. 了解对话框的使用方法。
实验十一图形用户界面(2)¥1. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
2. 掌握编写独立运行的窗口界面的方法。
3. 了解Java Swing 组件的使用方法。
4. 了解对话框的使用方法。
四、实验过程原始数据记录实验十图形用户界面(1)…1. 如下图所示,用了三个文本框,第一个文本框给用户输入商品单价,第二个则是给用户输入商品数量,第三个用于显示总金额。
代码:import class test_2_1_1 extends JFrame implementsActionListener{public static void main(String[] args) {ddDocumentListener(new DocumentListener() {"@Overridepublic void removeUpdate(DocumentEvent e) {ddDocumentListener(new DocumentListener() {@Overridepublic void removeUpdate(DocumentEvent e){quals("计算")){?if (!canCal){showMessage("输入的数据不合法");return;}double sum = ()) *());(sum));#}}制作如下图所示的界面,当用户点击单选按钮时,会在一个标签上显示出当前所选定的数据库服务器类型。
实验8MATLAB图形用户界面设计实验报告
实验报告课程名称: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, ...成 绩: 指导教师(签名):'gui_OpeningFcn', @jsq_OpeningFcn, ...'gui_OutputFcn', @jsq_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});endfunction jsq_OpeningFcn(hObject, eventdata, handles, varargin)guidata(hObject, handles);function varargout = jsq_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');endfunction pushbutton19_Callback(hObject, eventdata, handles)close(gcf);function pushbutton17_Callback(hObject, eventdata, handles)set(handles.edit1,'String','0');function pushbutton18_Callback(hObject, eventdata, handles)global a;a=get(handles.edit1,'String');switch acase ' 'b='0';case '0'b=a;otherwiseb=a(1:length(a)-1);endset(handles.edit1,'String',b);guidata(hObject, handles);% --- Executes on button press in pushbutton4.function pushbutton16_Callback(hObject, eventdata, handles)global a;global b;b=strcat(b,strcat(a,'+'));set(handles.edit1,'String','0');function pushbutton15_Callback(hObject, eventdata, handles)global a;global b;b=strcat(b,strcat(a,'-'));set(handles.edit1,'String','0');function pushbutton14_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='9';elsea=strcat(a,'9');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton13_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='8';elsea=strcat(a,'8');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton12_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='7';elsea=strcat(a,'7');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton11_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='4';elsea=strcat(a,'4');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton10_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='5';elsea=strcat(a,'5');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton9_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='6';elsea=strcat(a,'6');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton8_Callback(hObject, eventdata, handles) global a;global b;b=strcat(b,strcat(a,'*'));set(handles.edit1,'String','0');function pushbutton7_Callback(hObject, eventdata, handles) global a;global b;b=strcat(b,strcat(a,'/'));set(handles.edit1,'String','0');function pushbutton6_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='3';elsea=strcat(a,'3');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton5_Callback(hObject, eventdata, handles) global a;if a=='0';a='2';elsea=strcat(a,'2');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton4_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='1';elsea=strcat(a,'1');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton3_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');if a=='0';a='0';elsea=strcat(a,'0');%字符串连接endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton2_Callback(hObject, eventdata, handles) global a;a=get(handles.edit1,'String');b=strfind(a,'.');if numel(b)==0a=strcat(a,'.');elseset(handles.edit1,'String',a);endset(handles.edit1,'String',a);guidata(hObject, handles);function pushbutton1_Callback(hObject, eventdata, handles) global a;global b;c=get(handles.edit1,'String');d=strcat(b,c);a=eval(d);b='0'; %避免出现累加问题a=num2str(a);guidata(hObject, handles);。
实验五 图形用户界面设计
实验五图形用户界面设计(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)的一个组成部分,它提供了一套功能更强、数量更多、更美观的图形用户界面组件。
实验3 图形用户界面设计--窗口设计
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。
matlab图形界面实验
实验六 图形界面设计实验一 实验目的1、理解图形对象和图形句柄的基本概念2、掌握图形对象属性的基本操作3、掌握利用图形对象进行绘图操作的方法4、掌握菜单的设计方法5、掌握各种控件的属性和创建方法6、图形用户界面设计工具的使用方法二 实验内容1 建立一个图形窗口,标题名称为“我的图形窗口”,起始于屏幕左下角、宽度和高度分别为450像素点和250像素点,保留原有菜单项,背景颜色为红色,且当用户从键盘按下任意一个键时,将在该窗口绘制正弦曲线。
(如图所示) 2利用图形对象绘制下列曲线,要求先用默认属性绘制曲线,然后通过图形句柄操作来改变曲线的颜色、线型和线宽,并利用文本对象给曲线添加文字标注。
(1)1ln(2y x =+(2) 2sin x y x x e =+-3利用坐标轴对象实现图形窗口的任意分割,即在任意位置分别绘制出不同的函数曲线(选作)4 建立一个菜单系统。
菜单条中含有File 和Help 两个菜单项。
如果选择File 中的New 选项,则将显示New Item 字样,如果选择File 中的Open 选项,则将显示出Open Item 字样。
File 中的Save 菜单项初始时处于禁选状态,在选择Help 选项之后将此菜单项恢复成可选状态,如果选择File 中的Save As 选项,则将显示Save As Item 字样。
如果选择File 中的Exit 选项,则将关闭当前窗口。
如果选择Help 中About …选项,则将显示Help Item 字样,并将Save •菜单设置成可选状态。
5 绘制一条抛物线,创建一个与之相联系的菜单,用以控制曲线线型和颜色。
6 建立如图所示的图形演示窗口,在编辑框输入a,b,c的值,当点击绘图按钮时,绘制2++的图像,观察a,b,c对图像的影响。
ax bx c要求:完成后将相关程序和运行结果直接附在相关题号后面提交到FTP上,文件命名为学号和姓名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t3.setText(" ");}
}
public static void maest=new TestCalculator();
}
}
运行结果如下:
public void actionPerformed(ActionEvent e){
JFrame fr=new JFrame("Hello");
fr.setSize(200,100);
fr.setVisible(true);}
}
运行结果如下:
第二题代码:
TestCalculator.java
import javax.swing.*;
图形用户界面编程(设计性实验)
一、实验目的
1、熟悉Swing的基本组件,包括文本输入框、多行文本输入框、按钮、列表框等;
2、熟悉常用的布局管理器
3、了解GUI图像用户界面的设计方法
4、掌握Java组件的事件处理机制
5、熟悉基于内部类和匿名类的事件处理方式
二、实验要求
1、学生应做到独立上机操作
2、编程前应将程序的设计构想完成,主要包括所要创建的类的结构及属性和行为。
public class TestFrame{
public static void main(String args[]){
JFrame f=new JFrame("Test");
f.setSize(400,200);
f.setLayout(new FlowLayout(FlowLayout.CENTER));
在文本框输入两个实数,点击“相加”按钮实现两个实数相加,并在标签中显示相加结果。
点击“清除”完成对文本框和运行结果的清除。
四、实验代码及结果:
第一题代码:
TestFrame.Java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
JButton b2;
public TestCalculator(){
f=new JFrame("Calculate");
f.setSize(400,200);
f.setLayout(new GridLayout(2,3));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(t1);
f.add(t2);
f.add(t3);
f.add(b1);
f.add(b2);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==b1)
{
String s1=t1.getText();
3、上机输入和调试自己所编的程序,并存在自己的软盘上。
4、检查实验结果是否正确。
5、上机结束后,写出实验报告,要求附运行界面、源代码。实验报告中应对实验结果进行
分析,尤其是针对错误输出的分析。
三、实验内容
1.编写程序,显示一个窗口,窗口中包含一个按钮。当单击按钮时将弹出另一个窗
口。
2.编写一个简单的计算器程序,实现两个数相加。
t1=new JTextField();
t2=new JTextField();
t3=new JTextField();
b1=new JButton("add");
b2=new JButton("clear");
b1.addActionListener(this);
b2.addActionListener(this);
import java.awt.event.*;
import java.awt.*;
public class TestCalculator implements ActionListener
{
JFrame f;
JTextField t1;
JTextField t2;
JTextField t3;
JButton b1;
String s2=t2.getText();
int a=Integer.valueOf(s1).intValue();
int b=Integer.valueOf(s2).intValue();
int c=a+b;
t3.setText(Integer.toString(c));}
else
{
t1.setText(" ");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b=new JButton("确定");
b.addActionListener(new ButtonHandler());
f.add(b);
f.setVisible(true);}
}
class ButtonHandler implements ActionListener{