图形界面设计实验
实验四 图形用户界面编程 实验报告

实验四图形用户界面编程实验报告一、实验目的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,如图所示。
- 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{