实验六+图形界面

合集下载

图形用户界面实验报告

图形用户界面实验报告

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

实验 图形用户界面2

实验 图形用户界面2

实验图形用户界面2 (4学时)【实验目的】1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。

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

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

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

4. 了解Java Swing 组件的使用方法。

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

【实验内容】三.在Applet容器中添加组件的方法1.创建一个小应用程序,在其中添加组件(1)程序功能:在用户名及电话号码中输入完信息后,信息显示在最上面的文本域中;点击显示按钮,在相应的文本框中显示;点击退出按钮退出程序。

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

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class appletTest extends JApplet implements ActionListener { Button btn1, btn2;TextField f,tf1,tf2;TextArea Area;JPanel pane1,pane2,pane3;Container pane;public void init() {setSize(500,300);pane=getContentPane();pane1= new JPanel();pane2= new JPanel();pane3= new JPanel();pane.setLayout(new GridLayout(1,3));pane.add(pane1);pane.add(pane2);pane.add(pane3);setLayout(new GridLayout(3,3));Area=new TextArea (4,40);tf1=new TextField(10); tf2=new TextField(10);btn1=new Button("显示"); btn2=new Button("退出");f=new TextField(20);pane1.add(Area); pane2.add(new Label("用户名"));pane2.add(tf1); pane2.add(new Label("电话"));pane2.add(tf2); pane3.add(f); pane3.add(btn1); pane3.add(btn2);tf1.addActionListener(this); tf2.addActionListener(this);btn1.addActionListener(this); btn2.addActionListener(this);}public void actionPerformed(ActionEvent e) {if (e.getSource()==btn1)f.setText("你按下了“" + e.getActionCommand() + "”按钮");if (e.getSource()==tf1)Area.append("用户名:"+tf1.getText()+"\n");if (e.getSource()==tf2)Area.append("电话:"+tf2.getText()+"\n");if (e.getSource()==btn2) {System.exit(0);}}}(3)编译并运行程序。

Java图形用户界面实验报告

Java图形用户界面实验报告

西安邮电大学(计算机学院)课内实验报告实验名称:图形用户界面专业名称:计算机科学与技术班级:计科1405班学生姓名:高宏伟学号:04141152指导教师:刘霞林实验日期:2016.11.24一、实验目的了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。

二、实验要求1. 掌握使用布局管理器对组件进行管理的方法。

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

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

4. 掌握组件的使用方法。

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

三、实验内容(一)算术测试。

✧实验要求:编写一个算术测试小软件,用来训练小学生的算术能力。

程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。

✧程序模板:Teacher.javapublic class Teacher{ int numberOne,numberTwo;String operator="";boolean right;public int giveNumberOne(int n){ numberOne=(int)(Math.random()*n)+1;return numberOne;}public int giveNumberT wo(int n){ numberTwo=(int)(Math.random()*n)+1;return numberTwo;}public String giveOperator(){ double d=Math.random();if(d>=0.5)operator="+";elseoperator="-";return operator;}public boolean getRight(int answer){ if(operator.equals("+")){ if(answer==numberOne+numberTwo)right=true;elseright=false;}else if(operator.equals("-")){ if(answer==numberOne-numberTwo)right=true;elseright=false;}return right;}}ComputerFrame.javaimport java.awt.*;import java.awt.event.*;public class ComputerFrame extends Frame implements ActionListener { TextField textOne,textTwo,textResult;Button getProblem,giveAnwser;Label operatorLabel,message;Teacher teacher;ComputerFrame(String s){ super(s);teacher=new Teacher();setLayout(new FlowLayout());textOne=【代码1】 //创建textOne,其可见字符长是10textTwo=【代码2】 //创建textTwo,其可见字符长是10textResult=【代码3】 //创建textResult,其可见字符长是10operatorLabel=new Label("+");message=new Label("你还没有回答呢");getProblem=new Button("获取题目");giveAnwser=new Button("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new Label("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);【代码4】//将当前窗口注册为getProblem的ActionEvent事件监视器【代码5】//将当前窗口注册为giveAnwser的ActionEvent事件监视器【代码6】//将当前窗口注册为textResult的ActionEvent事件监视器 setBounds(100,100,450,100);setVisible(true);validate();addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0);}});}public void actionPerformed(ActionEvent e){ if(【代码7】) //判断事件源是否是getProblem{ int number1=teacher.giveNumberOne(100);int number2=teacher.giveNumberTwo(100);String operator=teacher.givetOperator();textOne.setText(""+number1);textTwo.setText(""+number2);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}if(【代码8】) //判断事件源是否是giveAnwser{ String answer=textResult.getText();try{int result=Integer.parseInt(answer);if(teacher.getRight(result)==true){ message.setText("你回答正确");}else{ message.setText("你回答错误");}}catch(NumberFormatException ex){ message.setText("请输入数字字符");}}textResult.requestFocus();validate();}}MainClass.javapublic class MainClass{ public static void main(String args[]){ ComputerFrame frame;frame=【代码9】//创建窗口,其标题为:算术测试}}✧实验后的练习:1. 给上述程序增加测试乘、除的功能。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

java实验六-图形用户界面

java实验六-图形用户界面
getContentPane().add(text);
getContentPane().add(text1);
ButtonHandler btnh=newButtonHandler();
text.addActionListener(btnh);
//getContentPane().add(textArea);
text.setBounds(300, 60, 200, 30);
//text.setColumns(31);
getContentPane().add(text);
text1.setEditable(false);
text1.setLineWrap(true);
text1.setBounds(300, 260, 200, 300);
}
}
public class TestJFrame {
public static void main(String[] args) {
new MyFrame();
}
}
2.在JApplet中加入1个文本框,1个文本区,每次在文本框中输入文本,回车后将文本添加到文本区的最后一行。
package实验六;
importjava.awt.event.ActionEvent;
@Override
public void actionPerformed(ActionEvent e) {
// TODO自动生成的方法存根
if (e.getActionCommand()=="按钮1")
label.setText("按钮1:");
else label.setText("按钮2:"); }

试验六交互式电子白板系统的使用

试验六交互式电子白板系统的使用

实验六交互式电子白板系统的使用在课堂教学中,教师总要借助一定的媒体向学生呈现、传递教学内容和信息甚至组织教学活动。

多媒体大屏幕投影系统弥补了黑板的缺憾,可以展示丰富多彩的数字化媒体材料。

但是,多媒体大屏幕投影系统适合呈现结构化的、预先组织好的固定内容。

而我们知道,课堂教学是非常灵活的,学生的回答也经常会与教师预先的设定不一致。

如何既能方便的引入和呈现多媒体信息,又能增强师生之间的交互,交互式电子白板的出现为实现这一目标提供了可能,因而本实验主要学习交互式电子白板的使用。

【实验目的】1.了解交互式电子白板的系统组成2.掌握交互式电子白板的基本操作方法,体会交互式电子白板的功能3.能够结合交互式电子白板的特点,设计基于交互式电子白板的教学片段【实验类型】基础型实验【实验任务】1、用书写笔或者手指尝试在交互式电子白板上直接进行书写、绘图等操作:新建黑板页、白板页、蓝板页、教学页等页面,尝试在不同的页面上书写、翻页并比较其差别;2、新建一个空白页,尝试插入一张图片,拖曳到不同的位置,改变大小,为图片注明图片名称;3、在交互式电子白板前,切换到“桌面工具栏状态”,打开一个PowerPoint教学课件并播放,尝试对播放的PowerPoint课件进行翻页和批注;【实验环境】1.连接Internet网的多媒体计算机实验室;2.每组实验需配置交互式电子白板、多媒体投影机;3.Office及其他教学所需软件【实验指导】一、交互式电子白板概述电子白板可分为复写式电子白板(Copy-boards)、外围式电子白板(Peripheral boards)和交互式电子白板(简称交互白板,Interactive whiteboards)三类。

复写式电子白板可以扫描录入板书的内容,并将其打印出来,不需要与计算机相连接;外围式电子白板能将板书内容传至与之相连的计算机中存储为数字化文档,进一步分发,编辑处理,用电子邮件邮寄;而交互式电子白板就其实质来说,是一个“大尺寸交互显示界面(LIDS,Large interactive display surfaces )”(Thorpe,Carter, Baker & Lough ,2002),即相当于一个大尺寸的触摸屏,用手指或鼠标笔,直接通过白板界面就可以像坐在计算机旁一样,实现对计算机文件与程序系统的操作控制,如打开网页,访问文件资料等。

实验六---MiniGUI在LINUX运行环境的建立

实验六---MiniGUI在LINUX运行环境的建立

MiniGUI在LINUX运行环境的建立步骤实验目的:掌握MINIGUI在linux运行环境中的安装实验设备:PC机,MINIGUI-1.3.3等安装包,ARM核心板等实验原理:MiniGUI项目的最初目标是为基于Linux的实时嵌入式操作系统提供一个轻量级的图像用户界面支持系统。

作为操作系统和应用程序之间的中间件,MiniGUI将底层操作系统与硬件平台之间的差别隐藏起来,并对上层应用程序提供了一致的功能特性。

MiniGUI的特点:(1)占用资源少:MiniGUI本身占用的空间非常小,整个MiniGUI系统占用空间在2~4MB,在某些系统上,MiniGUI系统本身所占用的空间可进一步缩小到1MB以内。

(2)高性能、高可靠性:MiniGUI良好的体系结构及优化的图形接口,可确保最快的图形绘制速度。

(3)可定制配置:和Linux内核类似,MiniGUI也具有大量的编译配置选项,通过这些选项可指定MiniGUI库中包括哪些用户所需要的功能。

(4)跨操作系统支持:MiniGUI支持Linux/uClinux、eCos、uC/OS-II、V xWorks等嵌入式操作系统。

同时,在不同操作系统上的MiniGUI,提供完全兼容的API接口。

MiniGUI的体系结构:从整体结构上看,MiniGUI采用的是分层设计的,结构如图1所示图1 MiniGUI的分层体系结构MINIGUI的分层结构:在最底层,GAL(图形抽象层)和IAL(输入抽象层)及鼠标和键盘的驱动;中间层是MiniGUI的核心层,包括窗口系统必不可少的各个模块;最顶层是API,即编程接口。

GAL和I AL为MiniGUI提供了底层的Linux控制台或者X-Window上的图形接口以及输入接口,而Pthread用于提供内核级线程支持的C函数库。

利用GAL和IAL,大大提高了MiniGUI的可移植性,并且使程序开发和调试变得更加容易。

MiniGUI在QVFB上的仿真应用:MiniGUI能够在PC机上运行,也能够移植到目标板上运行。

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!"。

Java图形界面实验报告

Java图形界面实验报告

实验报告2013学年第 1 学期任课老师:课程名称Java语言与系统设计班级学号姓名实验名称实验4 图形用户界面(GUI)实验时间实验环境PC/windows2000/2003/XP/Jcreator Pro/JBuild/JDK Eclipse/。

实验目的和内容要求实验4 图形用户界面(GUI)1.实验目的掌握布局管理器的使用,掌握JFrame框架、JButton按钮、JLabel标签、JTextField文本框、对话框等组件的使用及其事件处理。

2.实验内容(1)编程:创建有一个文本框和三个按钮的小程序。

当按下每个按钮时,使不同的文字显示在文本框中。

(2)编程:创建一用户登录界面,接受用户输入的帐号和密码,给三次输入机会。

实验过程记录(学生写出实验步骤及中间的结果与现象,在实验中做了什么,怎么做,发生的现象和中间结果)实验步骤:1.建立一个类继承JFrame,然后初始化界面,给三个按钮添加监听器,点击之后进行判断。

然后根据接收信息是不同的文字出现在文本框中。

2.登录界面共有5个键,登录提示有只能输入3次密码,在登录按钮上添加监听器,每次点击之后都判断,不成功就显示失败,成功就弹出成功弹窗;实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):2、实验过程中的发现与收获,未解决或需进一步解决的问题:实现的比较简单,界面做的非常简陋,但还算实现了基本功能。

指导老师评阅意见指导老师:***填写内容时,可把表格扩大。

附:实验源程序代码//第一题package com.miao;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Example extends JFrame implements ActionListener { private static final long serialVersionUID = 1L;private JPanel jPanel;private JButton jButton1,jButton2,jButton3;private JTextField tf1;public void test(String title) {init();}private void init() {jPanel=new JPanel();jPanel.setLayout(new FlowLayout());tf1=new JTextField(20);jButton1=new JButton("按钮1");jButton2=new JButton("按钮2");jButton3=new JButton("按钮3");jButton1.addActionListener(this);jButton2.addActionListener(this);jButton3.addActionListener(this);jPanel.add(tf1);jPanel.add(jButton1);jPanel.add(jButton2);jPanel.add(jButton3);this.add(jPanel);this.setSize(300,100);this.setResizable(false);this.setTitle("Show");this.setVisible(true);this.addWindowListener(new WindowAdapter() {public void windowClosing(final WindowEvent e) {System.exit(0);}});}public void actionPerformed(ActionEvent e) {if(e.getSource().equals(jButton1)){tf1.setText("lalalalalala");}if(e.getSource().equals(jButton2)){tf1.setText("heihei");}if(e.getSource().equals(jButton3)){tf1.setText("gaga");}}public static void main(String[] args){String s="文字转化";Example test=new Example();test.test(s);}}//第二题,登录package com.miao;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;@SuppressWarnings("serial")public class Test extends JFrame {JLabel lbl1 = new JLabel("用户名:");JLabel lbl2 = new JLabel("密码:");JTextField txt = new JTextField("admin",20);JPasswordField pwd = new JPasswordField(20);JButton btn = new JButton("登录");JPanel pnl = new JPanel();private int error = 0;public void text() throws HeadlessException {init();}private void init() {this.setResizable(false);this.setTitle("测试");pnl.add(lbl1);pnl.add(txt);pnl.add(lbl2);pnl.add(pwd);pnl.add(btn);this.getContentPane().add(pnl);btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (error<3&&"123".equals(new String(pwd.getPassword()))){// pnl.removeAll();// JLabel lbl3 = new JLabel();// pnl.add(lbl3);JOptionPane.showMessageDialog(null,"登陆成功!");}else if(error < 3){JOptionPane.showMessageDialog(null,"密码输入错误,请再试一次");error++;}else if(error >=3){JOptionPane.showMessageDialog(null,"对不起,您不是合法用户"); // txt.setEnabled(false);// pwd.setEnabled(false);// btn.setEnabled(false);error++;}}});}public static void main(String[] args) {// String str="测试";Test frm = new Test();frm.text();frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setBounds(100, 100, 300, 120);frm.setVisible(true);frm.setLocationRelativeTo(null);// frm.text("测试");}}。

java实验报告实验六Java图形用户界面

java实验报告实验六Java图形用户界面

信息工程学院1Java 程序设计实习报告JAVA 图形用户界面实验六Java 图形用户界面1. 实验目的(1) 掌握图形用户界面基本组件。

(2) 了解如何使用布局管理器对组件进行管理。

(3) 掌握Java 事件处理机制。

2. 实验内容实验题1编写一个模拟计算器的程序,使用面板和网格布局,添加一个文本框,10个数字按钮(0-9) , 4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算 公式和结果显示在文本框中。

运行结果:实验报告的内容与格式按任课教师的要求书写。

,小程序亘看器:paclcagel.Calculator.dass口 I 回加法:主要代码:private void in itComp onen ts() {jButt on1 = :new javax.swing.JButton();jButt on2 = :new javax.swing.JButton();jButt on3 = :new javax.swing.JButton();jButt on4 = :new javax.swing.JButton();jButt on5 = :new javax.swing.JButton();jButt on6 = :new javax.swing.JButton();jButt on7 = :new javax.swing.JButton();jButt on8 = :new javax.swing.JButton();jButt on9 = :new javax.swing.JButton();jButto n10 =new javax.swing.JButton();jButto n11 =new javax.swing.JButton();jButto n12 =new javax.swing.JButton();jButto n13 =new javax.swing.JButton();jButto n14 =new javax.swing.JButton();jButto n15 =new javax.swing.JButton();jTextField1 =new javax.swing.JTextField();setStub( null ); jButton1 .setText( "3" );jButton1 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt); }});jButton2 .setText( "1" );jButton2 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt); }});jButton3 .setText( "5" );jButton3 .addActionListener( new java.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt);}});jButton4 .setText( "2" );jButton4 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt); }});jButton5 .setText( "6" );jButton5 .addActionListener(newjava.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton5ActionPerformed(evt); }});jButton6 .setText( "8" );jButton6 .addActionListener( newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {jButton6ActionPerformed(evt); }});jButton7 .setText( "4" );jButton7 .addActionListener( newjava.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton7ActionPerformed(evt); }});jButton8 .setText( "7" );jButton8 .addActionListener( newjava.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton8ActionPerformed(evt); }});jButton9 .setText( "0" );jButton9 .addActionListener( newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {jButton9ActionPerformed(evt); }});jButton10 .setText( "9" );jButton10 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) { jButton10ActionPerformed(evt);}});jButton11 .setText( "\u00f7" );jButton11 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton11ActionPerformed(evt); }});jButton12 .setText( "\u00d7" );jButton12 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton12ActionPerformed(evt); }});jButton13 .setText( "-" );jButton13 .addActionListener( new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton13ActionPerformed(evt);});jButton14 .setText( "+" );jButton14 .addActionListener( newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {jButton14ActionPerformed(evt);}});jButton15 .setText( "=" );jButton15 .addActionListener( newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {jButton15ActionPerformed(evt);}});实验题2 编写一个程序,有一个窗口,该窗口为BorderLayout 布局。

实验6 图形用户界面设计

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

W6 实验六 GUI应用程序实验

W6 实验六 GUI应用程序实验

图 6-5 基于 ARM 的 Qt 应用程序编译界面 ( 7) 、嵌入式 Qt 应用程序的运行方法 测试程序下载运行
将编译好的 ARM 格式的应用程序 test 下载到开发板的/usr/qpe/bin 目录下, 并利用 chmod 命令修改 test 的属性 [root@bin]$chmod 755 test 在目标板的/usr/qpe/applications 目录下新建一个 test.desktop 文件: [Desktop Entry] Comment=A Qt test Program Exec=test Icon=Clock Type=Application Name=Test Name[zh_CN]=Qt 测试程序 重启目标板,点击 qtopia 界面上的“Qt 测试程序”便可运行测试程序 通过 NFS 运行测试程序, 程序在运行之前,需对 QT 环境进行配置。 [root$ 51board`]ቤተ መጻሕፍቲ ባይዱ export QTDIR=/usr/qpe [root$ 51board`]# export LD_LIBRARY_PATH=/usr/qpe/lib:$LD_LIBRARY_PATH [root$ 51board`]# ./test -qws
图 6-3 main.cpp 的自动配置界面 ( 5) 、Qt 的 uic 工具的使用 在嵌入式平台中无法对 ui 界面文件进行编译, 因此 Qt 提供将 ui 文件转换成标准的 C++ 头文件(.h)与实现文件(.cpp)的 uic 工具。uic 工具还可以完成 C++子类继承文件的转换和 将图片文件转换成头文件的形式。现介绍利用 uic 工具将前面建立的 test.ui 文件转换成标准 的 C++头文件和实现文件(uic 具体使用方法参考 qt 文档)。 生成 C++头文件 [root@localhost test]$uic – o test.h test.ui 生成 C++实现文件(.cpp 文件) [root@localhost test]$uic – o test.cpp – impl test.h test.ui 将 ui 文件转换为标准 C++头文件和实现文件后,便可以利用转换后的 C++头文件和实 现文件替代原来的 ui 文件。 在工程预览中选中 test.ui,单击右键,从弹出的菜单中选中” remove form from project” 菜单,移除 Qt 界面文件 test.ui,然后选中 Project 菜单中的 Add File 菜单,将转换后的 C++ 头文件和实现文件添加到工程中。如图 6-4 所示

java图形实验报告doc

java图形实验报告doc

java图形实验报告篇一:java实验报告实验六Java图形用户界面信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1.实验目的(1)掌握图形用户界面基本组件。

(2)了解如何使用布局管理器对组件进行管理。

(3)掌握Java事件处理机制。

2.实验内容实验题1 编写一个模拟计算器的程序,使用面板和网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式和结果显示在文本框中。

运行结果:实验报告的内容与格式按任课教师的要求书写。

加法:主要代码:private void initComponents() {setStub(null); jButton1 = new ; jButton2 = new ; jButton3 = new ; jButton4 = new ; jButton5 = new ;jButton6 = new ; jButton7 = new ; jButton8 = new ; jButton9 = new ; jButton10 = new ; jButton11 = new ; jButton12 = new ; jButton13 = new ; jButton14 = new ; jButton15 = new ; jTextField1 = new ;jButton1.setText("3"); jButton1.addActionListener(new {public voidactionPerformed( evt) {jButton2.setText("1"); jButton2.addActionListener(new}); } jButton1ActionPerformed(evt); {public voidactionPerformed( evt) {jButton3.setText("5"); jButton3.addActionListener(new}); } jButton2ActionPerformed(evt); {public voidactionPerformed( evt) {jButton4.setText("2"); jButton4.addActionListener(new}); } jButton3ActionPerformed(evt); {public voidactionPerformed( evt) {jButton5.setText("6");}); } jButton4ActionPerformed(evt);jButton5.addActionListener(new {public voidactionPerformed( evt) {jButton6.setText("8"); jButton6.addActionListener(new}); } jButton5ActionPerformed(evt); {public voidactionPerformed( evt) {jButton7.setText("4"); jButton7.addActionListener(new}); } jButton6ActionPerformed(evt); {public voidactionPerformed( evt) {jButton8.setText("7"); jButton8.addActionListener(new}); } jButton7ActionPerformed(evt); {public voidactionPerformed( evt) {jButton9.setText("0");jButton9.addActionListener(new}); } jButton8ActionPerformed(evt); {public voidactionPerformed( evt) {jButton10.setText("9"); jButton10.addActionListener(new}); } jButton9ActionPerformed(evt); {public voidactionPerformed( evt) {jButton11.setText("\u00f7"); jButton11.addActionListener(new}); } jButton10ActionPerformed(evt); {public voidactionPerformed( evt) {jButton12.setText("\u00d7"); jButton12.addActionListener(new}); } jButton11ActionPerformed(evt); {public voidactionPerformed( evt) {jButton13.setText("-"); jButton13.addActionListener(new}); } jButton12ActionPerformed(evt); {public voidactionPerformed( evt) {篇二:JAVA实验报告附件2:实验报告封皮20 —学年第学期课程实验报告学院:计算机科学技术专业:软件工程班级:姓名:学号:任课教师:王薇实验日期:XX年 11 月 02 日-1--2-实验日期:XX年 11 月 06 日-3--4-篇三:java图形用户界面实验报告南京工程学院实验报告课程名称 JAVA基础实验项目名称图形用户界面设计实验学生班级实验学生姓名学号同组学生姓名无实验时间 XX年11月实验地点实验成绩评定指导教师签字年月日一、实验目的和要求1.目的:掌握java AWT及Swing组件的使用方法,包括窗口、框架、对话框、布局方式、面板、文本编辑器、按钮、组合框等,合理利用委托事件处理模型,掌握不同组件,不同事件的事件处理方法,设计出能够响应事件的java图形用户界面。

实验六+图形界面

实验六+图形界面
private Color c;
private int style;
private Font f,fl;
private JLabel jlExample,jlFontstyle,jlColor,jlname,jlid,jlphone,jlsex;
private JButton jbOk,jbCancel;
setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(rbRed、isSelected())
c=Color、red;
if(rbBlue、isSelected())
代码如下:
package java实验六;
import java、*;
import javax、swing、*;
import java、awt、event、*;
import java、awt、*;
public class VipDemo extends JFrame implements ActionListener{
rbBlue、addActionListener(this);
rbBlack、addActionListener(this);
jcbBold、addActionListener(this);
jcbItalic、addActionListener(this);
rbm、addActionListener(this);
rbf、addActionListener(this);
jbOk、addActionListener(this);

实验六图形用户界面

实验六图形用户界面

实验六图形用户界‎面【开发语言及‎实现平台或‎实验环境】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。

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上,文件命名为学号和姓名。

实验6图形用户界面设计

实验6图形用户界面设计

实验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 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个按钮。

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

实验六图形界面
实验日期: 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();
}
@Override
public void actionPerformed(ActionEvent e) {
if() == button)
{
String temp = ();
());
(temp);
}
}
}
2. 采用图形界面设计如下图2所示的界面。

并能够实现当点击“+”按钮时,标签给出点击次数,如图3所示
图2 开始界面
图3 点击“+”按钮后的界面
3.教材P220页,第3题,创建一个会员注册窗体,要求使用上JCheckBox,JRadioButton,JTextFiled,JTextArea等组件,并将用户的注册信息显示到文本区中。

代码如下:
package java实验六;
import java.*;
import .*;
import .*;
public class VipDemo extends JFrame implements ActionListener{
private Color c;
private int style;
private Font f,fl;
private JLabel jlExample,jlFontstyle,jlColor,jlname,jlid,jlphone,jlsex;
private JButton jbOk,jbCancel;
private JRadioButton rbRed,rbBlue,rbBlack,rbm,rbf;
private ButtonGroup g;
private JCheckBox jcbBold,jcbItalic;
private JPanel jpFontstyle,jpColor,jpLabel,jpsex;
private JTextField jtname,jtid,jtphone;
private JTextArea jta;
public VipDemo(){
style=;
jlExample=new JLabel("请看设置效果");
jlFontstyle=new JLabel("字形");
jlColor=new JLabel("颜色");
jlsex=new JLabel("性别");
jlname=new JLabel("名字 ");
jlid=new JLabel("编号 ");
jlphone=new JLabel("联系方式");
jbOk=new JButton("确定");
jbCancel=new JButton("取消");
rbRed=new JRadioButton(" ");
rbBlue=new JRadioButton(" ");
rbBlack=new JRadioButton(" ");
rbm=new JRadioButton("男");
rbf=new JRadioButton("女");
g=new ButtonGroup();
jcbBold=new JCheckBox("粗体");
jcbItalic=new JCheckBox("斜体");
jpFontstyle=new JPanel();
jpColor=new JPanel();
jpLabel=new JPanel();
jpsex=new JPanel();
jtname=new JTextField();
jtid=new JTextField();
jtphone=new JTextField();
jta=new JTextArea(4,15);
}
public void launchButtonTest(){ (false);
f=();
fl=;
(fl);
;
;
;
(this);
(this);
(this);
(this);
(this);
(this);
(this);
(this);
(this);
(rbRed);
(rbBlue);
(rbBlack);
(rbm);
(rbf);
(jlFontstyle); (jcbBold);
(jcbItalic); (jlColor);
(rbRed);
(rbBlue);
(rbBlack);
(jlExample);
(rbm);
(rbf);
Container cp=getContentPane();
(new GridLayout(7,2,5,5));
(jpFontstyle);
(jpColor);
(jpLabel);
(jpsex);
(jlname);
(jtname);
(jlid);
(jtid);
(jlphone);
(jtphone);
(jbOk);
(jbCancel);
(jta);
setDefaultCloseOperation;
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent
e){
if())
c=;
if())
c=;
if())
c=;
(c);
Object source=();
if(source==jcbBold)
style=style^;
if(source==jcbItalic)
style=style^;
(style));
if(source==rbm)
("男\n");
if(source==rbf)
("女");
if(source==jbOk){
("姓名 "+()+"\n");
("编号 "+()+"\n");
("联系方式 "+()+"\n");
}
}
public static void main(String[] args){
VipDemo bt=new VipDemo();
("会员注册");
();
}
}
4.利用相应的组件编辑一个文本编辑器,参照Windows记事本,可以对字体大小、字形(粗体,斜体)、颜色进行设置,可以对内容进行添加、删除、修改,并保存文本。

说明:(1)可以选用单选框、复选框、列表、下拉框或菜单任意一种或多种组合实现字体的设置
(2)根据自己的编程能力实现功能,可以只实现字体的设置,或者字体和内容的编辑,或者全部功能都实现。

(3)本题的目的是常用组件的使用。

III 在本次实验中的问题和解决方法
本次实验中一切的设计和实现还比较理想,没遇上什么难题。

IV心得体会
通过本次实验我了解了图形用户界面的设计方法,掌握了常用的构建用户界面的组件的用法,掌握事件操作的原理,能够对所设计的用户界面进行事件处理,能够应用运算符解决实际小问题,熟悉了Java的面向对象的编程思想。

相关文档
最新文档