实验6 图形用户界面设计

合集下载

实验6 awt图形用户界面设计

实验6 awt图形用户界面设计

实验六基于AWT的图形用户界面设计一、实验目的与要求●掌握AWT包中常用组件的使用方法●采用布局管理器进行界面的布局,熟悉布局管理器的适用场合●理解事件处理机制,对不同的事件使用相应的事件处理方法●熟悉java.awt.Graphics进行二维图形设计的方法二、实验内容:1.设计一个注册窗口,界面如图1所示,其中有两个按钮,当输入完姓名和密码内容后,按“确认”按钮出现图2所示界面,当按下“重新输入”按钮,又回到图1所示界面。

图1 图2提示:窗口中放置两个面板组件,第一个面板为网格布局,用来放置3个标签和两个文本框,第二个面板为流式布局,放置两个按钮。

由于两个按钮都要进行事件处理,所以在事件处方中要进行事件源的判断。

要求(1):分别尝试:①使用匿名类作为事件监听者②使用包含事件源的类作为事件监听者③使用内部类作为事件监听者要求(2):分别尝试:①使用WindowListener实现窗口的关闭事件②使用WindowAdapter实现窗口的关闭事件2.编写一窗口程序,当用户按下q键或单击窗口关闭按钮时,结束程序运行;当用户按其他按钮时在控制台上输出被按下的字符。

3.编写一窗口程序实现:有一个标题为“计算”的窗口,窗口的布局如图所示自行设计;有四个按钮,分别为“加”、“减”、“乘”、“除”;另外,窗口中还有三个文本框,单击任一按钮,将前两个文本框中的数字进行相应的运算,在第三个文本框中显示结果。

提示:文本框中输入的数据为String类型,要想进行运算必须转换成Double类型,同理要想将计算结果在第三个文本框中显示,需要将Double类型转换成String类型。

4.编写一窗口程序实现,在窗口中用不同颜色绘制椭圆、圆、圆弧和文本。

5.编写一个简单的屏幕变色程序。

当用户单击“变色”按钮时,窗口颜色就自动地变成另外一种颜色。

要求:颜色随机生成。

6.编写一完整的计算器程序,界面如图所示:提示:①窗口为边界布局方式,窗口中放置两个面板组件,第一个面板为边界布局,用来添加文本框和取消按钮,第二个面板为网格布局,用来添加16个按钮。

图形图像用户界面设计

图形图像用户界面设计

实习报告课程名称多媒体实验实习题目图形图像用户界面设计专业通信工程班级通信(2)班学号学生姓名实习成绩指导教师吴娱2011年5月图形图像用户界面设计一、实验目的了解句柄图形的基本概念,掌握图形用户界面的基本设计方法。

二、实验要求上机完成实验题目,独立完成实验报告。

三、实验内容设计简单的图像用户界面。

四、实验步骤1、在MATLAB的命令窗口(Command Window)中运行guide命令:打开GUIDE界面,如下:然后,选择空模板(Blank GUI),点击OK,即可打开GUIDE的设计界面,如下:如下:单下添加菜单项:“打开”、“保存”、“退出”。

如下:文件,所有的程序都是要写在这个M文件里面的。

在编程中,每一个鼠标动作都对应一个Callback函数。

那么菜单项也是如此。

在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。

当点击不同的控件时,其对应的属性都会在这里显示,根据需要可以进行修改。

最主要的属性莫过于Tag属性和String属性。

设置当前的Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。

如下:然后,点击工具栏的保存按钮。

之后,点击工具栏的运行按钮(Run)。

程序运行时的样子,是这样的:文件下面的菜单项和快捷键我们都能看见,但是我们没有写程序,所以就算点也没有什么响应。

还有如果不想设置快捷键,可以在Menu Editor中设置,只要把其选择为Ctrl+none就行了。

这样的话,保存项就没有快捷键了。

可以通过上面的按钮“View”来查看该菜单项的响应函数,也就是Callback函数。

也可以在pjimage.m中看,比如保存的Tag属性是m_file_save,那么它对应的Callback函数的名字就是m_file_save_Callback。

依次类推了。

2、下面来写打开菜单项的函数,要打开一个图片,当然要用打开对话框了。

图形用户界面实验报告

图形用户界面实验报告

图形用户接口一、实验目的·了解嵌入式系统图形界面的基本编程方法·学习图形库的制作二、原理概述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),即可实现清屏。

用户界面设计实验报告

用户界面设计实验报告

《用户界面设计》实验报告学号:姓名:班级名称:2011计科指导教师:李波实验日期:5月30日序号版本号修订内容教师评语Ex1Ex2Ex3Ex4目录Experiment 1: Evaluation Practices (1)Experiment 2: Design a graphic user interface (5)Experiment 3: Error Messages GUI (16)Experiment 4: Help Document (16)Experiment 1: Evaluation Practices对中南民族大学图书馆主页的可行性分析(/)The home page :My Opinion about the web sites:No. Criteria Importance Goal Actualmost least12345Time Time1 Time to learn 1 Less than 5 second About 10 second2 Speed of3 Less than 10 second About 20 secondUse 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.No. Criteria Scoreno neutral yes 1 2 3 4 5 N/A 6 Is the terminology consistent? 5 7Is the terminology appropriate?5performancelow mod highveryhighlow mod highveryhigh 3Rate of errors by users3lowmod4Subjective satisfaction4Veryhighhigh5Retention over time5VeryhighmodNo. Criteria Scoreno neutral yes8 Is the terminology in the user's vocabulary? 49 Are the instructions consistent? 410 Do the instructions accurately describe the task? 511 Do the display layouts simplify the tasks? 412 Are the error messages helpful? 413 Is it easy to correct errors? 514 Is the online help consistent and useful? 4 No. Comment15 What specific suggestions do you have to improve this interface?Problem:In my opinion,the interface of our school’library home page is good Navigation classification clear, page is concise,But it still have a little problem,The contents of the proposed improvements:1.Home Resource Navigator provides some of the major database lists and links. The list of databases in the database resource classification, but simply divided into Chinese database, foreign language database and trial database. If the database list for further disciplinary classification may be more convenient.2.Proposed in terms of practicality, the pages should be divided into work,No. Criteria Scoreno neutral yes English and Mobile. Make the page more user-friendly, easy to all kinds of users to browse3.Many link to open two pages and a page overlap, it is recommended to beseparated16 What specific things did you like about this interface?First, it is easy to learn,even though for new learners.Because the introduction is very clear.You can know how to use it the sight you look at it.Second, evrryone can find what he want quickly,for our home page is designed in detail.You can find what you want as soon as possible.Third,it can show our school’s uniqu e.It can provide a general look of our school which can attract other’s attention.Experiment 2: Design a graphic user interface设计的系统名称:电影院网上购票系统针对用户群是:普通购票用户,非专业的计算机工作者一、系统需求分析(The system requirement)随着经济的发展,看电影已成为人们在日常生活中普遍的娱乐方式,这也推动了国内外电影产业的发展。

实验六+图形界面

实验六+图形界面

实验六图形界面实验日期: 2016 年 6 月 12 日班级:软件1401 学号(后四位):__0127_______ 姓名:_程瑞强_______ 成绩:成绩:一.实验目的1.掌握图形用户界面的设计方法2.掌握常用的构建用户界面的组件的用法3.掌握事件操作的原理4.能够对所设计的用户界面进行事件处理5.能够应用运算符解决实际小问题6.进一步熟悉Java的面向对象的编程思想二.实验题目(前2题任选1题,第3,4题任选1题)1.采用图形界面实现两个内容的交换,图形界面如下图1所示所示:图1 内容交换代码如下:package TestChange;import class TestChange extends JFrame implements ActionListener{private static final long serialVersionUID = -006L;JPanel panel;JTextField tt1;JTextField tt2;JButton button;public TestChange(){("TestChange");(355, 85);;panel = new JPanel();tt1 = new JTextField(10);tt2 = new JTextField(10);button = new JButton("Change");(this);(tt1);(tt2);(button);(panel, ;(false);(true);}public static void main(String[] str){ new TestChange();}@Overridepublic void actionPerformed(ActionEvent e) {if() == button){String temp = ();());(temp);}}}2. 采用图形界面设计如下图2所示的界面。

实验六 MATLAB句柄绘图和GUI界面设计

实验六  MATLAB句柄绘图和GUI界面设计

西北农林科技大学实验报告学院名称:理学院专业年级:姓名:学号:课程:数学软件实验报告日期:2014年11月22日实验六MATLAB的句柄绘图与GUI界面设计一、实验目的MATLAB语言的句柄绘图可以对图形的各基本对象进行更为细腻的修饰,能产生更为复杂的图形,而且为动态图形的制作奠定了基础。

本次实验的目的是了解图形的基本结构,掌握图形对象之间的关系,熟悉图形对象属性的获取、设置与修改。

并能初步使用MATLAB 的GUI界面设计进行界面的设计,为将来进行软件开发打好基础。

二.实验要求MATLAB的底层图形修饰方法十分的丰富,通过本次实验,要求能体会句柄图形的概念,熟悉根屏幕、图形窗口、界面控制、界面菜单、轴、线、面、字、块、像等基本图形对象的创建和修改,熟练掌握基本图形对象的属性获取、设置与修改,会利用对象属性修改图形,会创建与修改界面控制与界面菜单。

能根据需要使用消息对话框、警告对话框、输入对话框、提示对话框、列表对话框、进度指示条等。

能初步设计出自己较为满意的GUI图形用户界面。

三.实验内容一、句柄图形的概念句柄图形(Handle Graphics):是一种面向对象的绘图系统。

该系统提供创建计算机图形所必须的各种软件。

它所支持的指令,可直接创建线、文字、网线、面以及图形用户界面。

在MATLAB中的图形系统中,所有的图形操作都是针对图形对象而言的,每个对象从创建时起就被赋予了唯一的标识,这种标识就是该图像的句柄。

1.图形对象MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。

系统将每一个对象按树型结构组织起来。

每个具体图形不必包含每个对象,但每个图形必须具备根屏幕和图形窗口。

2.图形对象句柄MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。

句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。

python图形用户界面实验报告

python图形用户界面实验报告

python图形用户界面实验报告本实验主要是介绍Python图形用户界面(GUI)的基本概念和使用方法,包括使用Python 中的Tkinter模块创建GUI应用程序的基本结构、常用控件和事件处理方式。

一、实验目的1.掌握Python图形用户界面(GUI)的基本概念和使用方法。

2.学习使用Python中的Tkinter模块创建GUI应用程序。

3.了解在Tkinter中使用控件和事件处理方式。

二、实验内容1.创建基本的GUI应用程序Python的Tkinter模块提供了一系列GUI控件,如Label、Button、Entry、Canvas、Menu等。

下面我们将介绍如何使用Tkinter创建一个基本的GUI应用程序。

代码如下:```from tkinter import *#创建主窗口root = Tk()#设置窗口标题root.title("我的第一个GUI程序")#设置窗口大小(宽x高)root.geometry('400x300')# 创建一个Label控件label = Label(root, text="欢迎来到Python世界!")# 将Label控件添加到主窗口label.pack()#进入消息循环root.mainloop()```上述代码中,我们首先导入了Tkinter模块,然后创建了一个名为root的主窗口。

接下来,我们设置了窗口的标题和大小,并创建了一个Label(标签)控件,文本为“欢迎来到Python 世界!”并将其添加到主窗口。

最后,我们调用root.mainloop()方法以便程序能够执行GUI循环。

2.GUI控件的使用下面介绍一些常用的Tkinter控件的用法。

其中,控件的属性和方法的详细说明可参考Python 官方文档或其它相关资料。

Label(标签)控件Label控件用来显示文本或图像。

如下是一个Label控件的例子:```label = Label(root, text="Hello, world!")label.pack()```Button(按钮)控件Button控件用来响应用户点击事件。

java图形用户界面实验报告

java图形用户界面实验报告

java图形用户界面实验报告Java图形用户界面实验报告一、引言图形用户界面(Graphical User Interface,简称GUI)是现代软件开发中不可或缺的一部分。

通过GUI,用户能够直观地与程序进行交互,提高了软件的易用性和用户体验。

本实验旨在通过使用Java编程语言,实现一个简单的GUI应用程序,并介绍相关的技术和方法。

二、实验目标本实验的目标是设计并实现一个简单的GUI应用程序,要求具备以下功能:1. 显示一个窗口,并在窗口中心显示一个标签;2. 在窗口中添加一个按钮,并实现按钮的点击事件;3. 当按钮被点击时,标签的文本发生变化。

三、实验过程1. 环境准备在开始实验之前,需要确保已经安装了Java开发环境(JDK)和集成开发环境(IDE),例如Eclipse或IntelliJ IDEA。

2. 创建GUI应用程序首先,创建一个Java项目,并创建一个名为"GUIApplication"的类。

在该类中,引入Java的GUI库,并继承JFrame类,实现一个窗口。

3. 设计窗口布局在窗口的构造方法中,设置窗口的标题、大小和关闭方式。

然后,创建一个JPanel对象,并将其添加到窗口中。

在JPanel中,使用布局管理器(例如FlowLayout或GridBagLayout)来安排组件的位置和大小。

4. 添加标签和按钮在JPanel中,创建一个JLabel对象,并设置其文本和位置。

然后,创建一个JButton对象,并设置其文本和点击事件。

在点击事件中,通过修改JLabel的文本来实现标签内容的变化。

5. 运行程序完成以上步骤后,编译并运行程序。

将会显示一个窗口,其中包含一个标签和一个按钮。

当按钮被点击时,标签的文本会发生变化。

四、实验结果经过以上步骤,成功实现了一个简单的GUI应用程序。

运行程序后,窗口显示如下图所示:(插入程序运行截图)在窗口中心显示了一个标签,标签的文本为"Hello, GUI!"。

实验六 MATLAB图形用户界面设计

实验六 MATLAB图形用户界面设计

实验六MATLAB图形用户界面设计(3学时)1 实验的目的及意义:(1)熟悉MATLAB图形用户界面开发环境。

(2)掌握MATLAB中图形用户界面程序设计方法。

2 实验步骤:上机调试①设计如下图所示的简单四则运算计算器。

1) 在GUI设计窗口中放置16个Pushbutton控件,将其Tag和String属性分别设置为:Pushbutton1,1Pushbutton2,2……Pushbutton9,9Pushbutton10,0Pushbutton_CLR,CLRPushbutton_EQU,=Pushbutton_ADD,+Pushbutton_SUB,-Pushbutton_MUL,×Pushbutton_DIV,÷2) 在GUI设计窗口中放置2个Statictext控件,将其Tag和String属性分别设置为:Text1,计算器Text_ANS,0再将Text_ANS控件的Backgroundcolor属性设置为白色;HorizontalAlignment属性设置为Left(水平左对齐)。

3) 设计Callback函数:(提示)某一数字按键按下时,要将该按键的String属性读出来并连接到Text_ANS的String属性之后。

(使用字符串连接函数Strcat)function pushbutton1_Callback(hObject, eventdata, handles) str=get(handles.pushbutton1,'string');str=strcat(get(handles.text_ANS,'string'),str);set(handles.text_ANS,'string',str);function pushbutton2_Callback(hObject, eventdata, handles) str=get(handles.pushbutton2,'string');str=strcat(get(handles.text_ANS,'string'),str);set(handles.text_ANS,'string',str);....function pushbutton9_Callback(hObject, eventdata, handles) str=get(handles.pushbutton9,'string');str=strcat(get(handles.text_ANS,'string'),str);set(handles.text_ANS,'string',str);function pushbutton10_Callback(hObject, eventdata, handles) str=get(handles.pushbutton10,'string');str=strcat(get(handles.text_ANS,'string'),str);set(handles.text_ANS,'string',str);CLR按键按下时,将Text_ANS的String属性设为空。

Python程序设计与案例教程:图形用户界面设计

Python程序设计与案例教程:图形用户界面设计
from tkinter import * win = Tk() Button(win, padx=20, text="关闭", command=win.quit).pack() win.mainloop()
8
图形用户界面设计
例:包含关闭按钮的图形界面
1 from tkinter import * 2 win = Tk() 3 Button(win,padx=20,text="关闭",command=win.quit).pack() 4 Button(win,padx="2c",text="关闭",command=win.quit).pack() 5 Button(win,padx="8m",text="关闭",command=win.quit).pack() 6 Button(win,padx="2i",text="关闭",command=win.quit).pack() 7 Button(win,padx="20p",text="关闭",command=win.quit).pack() 8 win.mainloop()
13
图形用户界面设计
11.2.2 Button控件
Button控件用来创建按钮,按钮内可以显示文字或者图片。 Button控件的方法: (1) flash():将前景与背景颜色互换来产生闪烁的效果。 (2) invoke():执行command属性所定义的函数。
14
图形用户界面设计
Button widget的属性如下: (1) activebackground:当按钮在作用中时的背景颜色。 (2) activeforeground:当按钮在作用中时的前景颜色。 (3) bitmap:显示在按钮上的位图。 (4) default:如果设置此属性,则此按钮为默认按钮。 (5) disabledforeground:当按钮在无作用时的前景颜色。 (6) image:显示在按钮上的图片,此属性的顺序在 text 与 bitmap 属 性之前。 (7) state:定义按钮的状态,可以是 NORMAL、ACTIVE 或者 DISABLED。 (8) takefocus:定义用户是否可以使用 Tab 键,来改变按钮的焦点。 (9) text:显示在按钮上的文字。如果定义了 bitmap 或者 image 属性 ,text 属性就不会被使用。 (10) underline:一个整数偏移值,表示按钮上的文字哪一个字符要加 底线,第一个字符的偏移值是 0。 (11) wraplength:一个以屏幕单位(screen unit)为单位的距离值,用来 决定按钮上的文字在哪里需要换成多行。其默认值是不换行。

图形用户界面实验报告。

图形用户界面实验报告。

实验 SWT图形用户界面1.实验目的(1)了解SWT 程序开发步骤。

(2)掌握SWT常用组件的使用。

(3)掌握SWT 的事件处理。

2.实验内容实验题1完成图3.8 所示图形界面的制作。

要求“查询结果”用group组件。

图3.8数据查询界面实验代码:(在包中)package ;public class Example {public static void main(String[] args) {Window win =new Window();win.setTitle("按学号查询");}}package ;import javax.swing.*;public class Window extends JFrame {JTextField textnum1,textnum2,textname,textage;JLabel p1,p2,p3,p4;JButton enter,reverse;public Window(){init();setBounds(400,150,500,500);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setResizable(false);}void init(){setLayout(null);p1=new JLabel("请输入学号:");p2=new JLabel("学号:");p3=new JLabel("姓名:");p4=new JLabel("年龄:");add(p1);add(p2);add(p3);add(p4);p1.setBounds(50,50,100,100);p2.setBounds(50,180,100,100);p3.setBounds(50,230,100,100);p4.setBounds(50,280,100,100);textnum1 =new JTextField(10);textnum2=new JTextField(10);textname =new JTextField(10);textage =new JTextField(10);add(textnum1);add(textnum2);add(textname);add(textage);textnum1.setBounds(150,90,200,20);textnum2.setBounds(200,220,150,20);textname.setBounds(200,270,150,20);textage.setBounds(200,320,150,20);enter =new JButton("确定");reverse = new JButton("重置");add(enter);add(reverse);enter.setBounds(90,130,70,30);reverse.setBounds(300,130,70,30);}}运行结果如下如所示:实验题2 完成图3.9所示学籍管理主界面的设计与制作。

java实验报告5(图形用户界面)

java实验报告5(图形用户界面)

2012—2013学年第 1 学期合肥学院数理系实验报告课程名称:《面向对象程序设计》实验项目:图形用户界面实验类别:综合性□设计性√验证性□专业班级:10信息与计算科学班姓名:学号:实验地点:校内机房实验时间:2012.11.19 —2012.11.25指导教师:钱泽强成绩:一、实验目的掌握Java中图形界面设计的基本元素和方法,熟练使用常用组件设计图形界面,掌握布局管理器的使用,掌握事件的处理方法。

二、实验内容1、设计图形界面,掌握FlowLayout、BorderLayout、CardLayout、GridLayout布局管理器的使用,并掌握组件的精确定位方式;2、掌握事件处理的三种常见的实现方式:·通过主类创建监听器对象的实现方式;·通过自定义内部类创建监听器对象的实现方式;·在注册时通过匿名类直接创建监听器对象的实现方式。

3、设计图形用户界面的应用程序。

三、实验方案(程序设计说明)[题目1] 编写图形界面用户程序,采用事件处理的三种实现方法求一个数的平方。

1、在图形界面中提供“文本框、标签、按钮”,文本框用于输入数据,标签显示数据的平方,单击按钮可以实现求数据的平方;2、分别采用事件处理的三种方法实现。

[题目2] 编写图形界面用户程序,实现“幸运数”游戏。

要求如下:1、在图形界面用户程序中提供“按钮、标签”等组件;2、标签用于显示随机数,单击按钮可以改变随机数并实现对随机数的判断:若两数相等,则出现相等提示,否则出现不等提示。

四、实验程序和运行结果请附页记录正确的源程序五、实验总结六、教师评语及成绩1、求平方import javax.swing.*;import java.awt.*;import java.awt.event.*;//通过主类创建监听器对象class myFrame extends JFrame implements ActionListener{ JLabel l; JButton b; JTextField t;myFrame(JFrame f){ l=new JLabel("0"); b=new JButton("求平方"); t=new JTextField("0");f.setLayout(null);f.add(l); f.add(b); f.add(t);t.setBounds(1,1,60,20); b.setBounds(71,1,60,20); l.setBounds(141,1,60,20);b.addActionListener(this); }public void actionPerformed(ActionEvent e){ int x=Integer.parseInt(t.getText());int y=x*x; l.setText(Integer.toString(y)); }}//通过自定义内部类创建监听器对象class myFrame extends JFrame{ JLabel l; JButton b; JTextField t;myFrame(JFrame f){ l=new JLabel("0"); b=new JButton("求平方"); t=new JTextField("0");f.setLayout(null);f.add(l); f.add(b); f.add(t);t.setBounds(1,1,60,20); b.setBounds(71,1,60,20); l.setBounds(141,1,60,20); BHandler h=new BHandler();b.addActionListener(h); }private class BHandler implements ActionListener {public void actionPerformed(ActionEvent e){ int x=Integer.parseInt(t.getText());int y=x*x; l.setText(Integer.toString(y)); }}}//在注册时通过匿名类直接创建临听器对象class myFrame extends JFrame{ JLabel l; JButton b; JTextField t;myFrame(JFrame f){ l=new JLabel("0"); b=new JButton("求平方"); t=new JTextField("0");f.setLayout(null);f.add(l); f.add(b); f.add(t);t.setBounds(1,1,60,20); b.setBounds(71,1,60,20); l.setBounds(141,1,60,20);b.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ int x=Integer.parseInt(t.getText());int y=x*x; l.setText(Integer.toString(y)); }});}}public class test {public static void main(String[] args) {JFrame jf=new JFrame("平方数"); jf.setBounds(100,100,400,300); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);myFrame myf=new myFrame(jf); }}2、幸运数import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.Random;class myJFrame extends JFrame implements ActionListener{ private JButton jb;private JLabel [] jl;public myJFrame(JFrame f){ f.setSize(300,300);f.setLayout(new FlowLayout());jl=new JLabel[3];for(int i=0; i<3; i++){ jl[i]=new JLabel("*");f.add(jl[i]); }jl[2].setText("试一试");jb=new JButton("开始");jb.addActionListener(this);f.add(jb);}public void actionPerformed(ActionEvent e){ Random x=new Random();Random y=new Random();jl[0].setText(Integer.toString(x.nextInt(10)));jl[1].setText(Integer.toString(x.nextInt(10)));if (jl[0].getText().equals(jl[1].getText()))jl[2].setText("恭喜您");elsejl[2].setText("再试试");}}public class test{public static void main(String[] args) {JFrame f=new JFrame("我的窗口");f.setBounds(100,100,400,300);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myJFrame m=new myJFrame(f); }}。

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

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

南京工程学院实验报告课程名称 JAVA基础实验项目名称图形用户界面设计实验学生班级实验学生姓名学号同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日一、实验目的和要求1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。

2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。

3.熟悉在组件上绘图的方法。

二、实验题目用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。

三、实验方法与步骤(需求分析、算法设计思路、流程图等)算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:因此,我设计了以下核心算法public void actionPerformed(ActionEvent e){if(e.getSource()==button_b){doublewage=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)tax=(wage-3500)*0.25-1005;if(wage>38500&&wage<=58500)tax=(wage-3500)*0.3-2755;if(wage>58500&&wage<=83500)tax=(wage-3500)*0.35-5505;if(wage>83500)tax=(wage-3500)*0.45-13505;text.setText(""+tax);}}以上算法是根据税率表设计的,具体为:我国规定个人收入在3500元起征个人所得税,分了多个阶段:3500以下:不收税3500以上到5000以下部分:3%5000以上到8000以下部分:10%8000以上到以下部分:20%125000以上到385000以下部分:25%385000以上到585000以下部分:30%585000以上到835000以下部分:35%83500以上:45%首先算出每个阶段的速扣数,然后用此公式:应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数。

软件专业研究生实验报告

软件专业研究生实验报告

实验名称:基于Java的图形用户界面设计一、实验目的1. 熟悉Java图形用户界面设计的基本概念和常用组件。

2. 掌握Swing库的使用,能够设计简单的图形用户界面。

3. 培养编程实践能力,提高问题解决能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE for Java Developers3. 编程语言:Java4. 开发库:Swing库三、实验内容1. 创建一个简单的图形用户界面,包括窗口、按钮、标签、文本框等组件。

2. 实现按钮点击事件,输出信息到控制台。

3. 设计一个带有滚动条的面板,展示大量数据。

4. 使用布局管理器(如FlowLayout、BorderLayout、GridLayout等)对界面进行布局。

四、实验步骤1. 创建一个名为“GUIProject”的Java项目,在Eclipse中导入Swing库。

2. 创建一个名为“MainFrame”的类,继承自JFrame类,作为主窗口。

3. 在“MainFrame”类中,添加以下代码:```javaimport javax.swing.;import java.awt.;public class MainFrame extends JFrame {public MainFrame() {// 设置窗口标题setTitle("图形用户界面设计");// 设置窗口大小setSize(500, 400);// 设置关闭操作setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置布局管理器setLayout(new BorderLayout());// 创建按钮JButton button = new JButton("点击我");// 添加按钮到窗口add(button, BorderLayout.CENTER);// 添加事件监听器button.addActionListener(e -> {System.out.println("按钮被点击了!");});}public static void main(String[] args) {// 创建窗口实例MainFrame frame = new MainFrame();// 显示窗口frame.setVisible(true);}}```4. 修改“MainFrame”类,添加滚动条和标签:```javaimport javax.swing.;import java.awt.;public class MainFrame extends JFrame {public MainFrame() {// ...(省略其他代码)// 创建面板JPanel panel = new JPanel();// 设置布局管理器panel.setLayout(new GridLayout(0, 1));// 创建标签JLabel label = new JLabel("这是一个标签");// 添加标签到面板panel.add(label);// 创建滚动条JScrollPane scrollPane = new JScrollPane(panel); // 添加滚动条到窗口add(scrollPane, BorderLayout.CENTER);}// ...(省略其他代码)}```5. 运行程序,观察效果。

实验六图形用户界面

实验六图形用户界面

实验六图形用户界‎面【开发语言及‎实现平台或‎实验环境】Windo‎ws200‎0或XP,JDK1.6【实验目的】1.了解图形用‎户界面基本‎组件窗口、按钮、文本框、选择框、滚动条等的‎使用方法,2.了解如何使‎用布局管理‎器对组件进‎行管理,以及如何使‎用J ava‎的事件处理‎机制。

【实验要求】1. 掌握在Ap‎p let 容器中添加‎组件的方法‎,掌握使用布‎局管理器对‎组件进行管‎理的方法。

2. 理解Jav‎a的事件处理‎机制,掌握为不同‎组件编写事‎件处理程序‎的方法。

3. 掌握编写独‎立运行的窗‎口界面的方‎法。

4. 了解Jav‎a Swing‎组件的使用‎方法。

5. 了解对话框‎的使用方法‎。

【实验内容】一.创建图形用‎户界面图形用户界‎面(Graph‎i c User Inter‎f ace ,简称GUI‎)是为方便用‎户使用设计‎的窗口界面‎,在图形用户‎界面中用户‎可以看到什‎么就操作什‎么,取代了在字‎符方式下知‎道是什么后‎才能操作什‎么的方式。

组件(Compo‎n ent)是构成GU‎I的基本要素‎,通过对不同‎事件的响应‎来完成和用‎户的交互或‎组件之间的‎交互。

组件一般作‎为一个对象‎放置在容器‎(C onta‎i ner)内,容器是能容‎纳和排列组‎件的对象,如Appl‎e t、Panel‎(面板)、Frame‎(窗口)等。

通过容器的‎a d d 方法把组件‎加入到容器‎中。

1.在Appl‎e t 中添加标签‎、按钮并使用‎网格布局(1)程序功能:在Appl‎e t 容器中添加‎组件标签、按钮,并使用网格‎布局管理器‎排列组件在‎容器中的位‎置。

(2)编写LX5‎_1.java 程序文件,源代码如下‎。

impor‎t java.awt.*;impor‎t java.apple‎t.Apple‎t;publi‎c class‎LX5_1‎exten‎d s Apple‎t {Label‎l1;Butto‎n b1, b2, b3, b4, b5, b6;publi‎c void init() {setLa‎y out(new GridL‎a yout‎(3,3)); // 设置网格布‎局(3 行3 列共9 个网格)l1=new Label‎("标签1");b1 = new Butto‎n("按钮1");b2 = new Butto‎n("按钮2");b3 = new Butto‎n("按钮3");b4 = new Butto‎n("按钮4");add(l1);add(b1);add(b2);add(b3);add(new Label‎());add(b4);add(new Butto‎n("按钮5"));add( new Butto‎n("按钮6"));add(new Label‎("标签2"));}}(3)编译程序L‎X5_1.java。

用户界面设计实验报告

用户界面设计实验报告

用户界面设计实验报告用户界面设计实验报告一、引言在当今信息技术高速发展的时代,用户界面设计的重要性愈发凸显。

一个好的用户界面设计可以提升用户体验,增加用户的满意度和忠诚度。

为了探索有效的用户界面设计原则和方法,本实验旨在通过对比不同设计方案的实际应用效果,评估其对用户体验的影响。

二、实验设计本实验采用了对比实验设计,选取了两种不同的用户界面设计方案进行比较。

实验对象为20名大学生,他们被随机分为两组,每组10人。

每个组分别使用不同的用户界面进行操作,然后根据他们的反馈和实际操作情况进行评估。

三、实验过程1. 设计方案A设计方案A采用了简洁、直观的界面风格,注重信息的整合和布局的合理性。

在设计过程中,我们参考了经典的用户界面设计原则,如一致性、可见性、可理解性和可控制性等。

在实验中,用户使用设计方案A进行了一系列任务的操作,包括查找信息、填写表单和进行交互等。

2. 设计方案B设计方案B则更加注重用户的个性化需求和情感体验。

在界面设计中,我们融入了更多的交互元素和动画效果,以增加用户的参与感和乐趣感。

同时,我们也充分考虑了用户的心理感受和认知特点,力求让用户在使用过程中感到愉悦和舒适。

四、实验结果通过实验数据的收集和分析,我们得出了以下结论:1. 设计方案A在用户操作的效率和准确性方面表现较好。

由于其简洁明了的界面风格和合理布局,用户能够快速找到所需的功能按钮和信息,提高了操作的效率。

2. 设计方案B在用户的情感体验和参与感方面表现较好。

用户对于方案B中的交互元素和动画效果给予了较高的评价,认为这种设计更加有趣和有吸引力。

五、讨论与建议根据实验结果,我们可以得出以下讨论与建议:1. 用户界面设计应综合考虑用户的操作需求和情感体验。

简洁明了的界面布局可以提高用户的操作效率,而个性化的交互元素和动画效果则可以增加用户的参与感和乐趣感。

2. 用户界面设计应注重用户的心理感受和认知特点。

通过调研用户的喜好和习惯,设计师可以更好地满足用户的需求,提高用户对界面的接受度。

matlab图形界面实验

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验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,如图所示。

相关文档
最新文档