实验六+图形界面
图形用户界面实验报告

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

西安邮电大学(计算机学院)课内实验报告实验名称:图形用户界面专业名称:计算机科学与技术班级:计科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界面设计

西北农林科技大学实验报告学院名称:理学院专业年级:姓名:学号:课程:数学软件实验报告日期:2014年11月22日实验六MATLAB的句柄绘图与GUI界面设计一、实验目的MATLAB语言的句柄绘图可以对图形的各基本对象进行更为细腻的修饰,能产生更为复杂的图形,而且为动态图形的制作奠定了基础。
本次实验的目的是了解图形的基本结构,掌握图形对象之间的关系,熟悉图形对象属性的获取、设置与修改。
并能初步使用MATLAB 的GUI界面设计进行界面的设计,为将来进行软件开发打好基础。
二.实验要求MATLAB的底层图形修饰方法十分的丰富,通过本次实验,要求能体会句柄图形的概念,熟悉根屏幕、图形窗口、界面控制、界面菜单、轴、线、面、字、块、像等基本图形对象的创建和修改,熟练掌握基本图形对象的属性获取、设置与修改,会利用对象属性修改图形,会创建与修改界面控制与界面菜单。
能根据需要使用消息对话框、警告对话框、输入对话框、提示对话框、列表对话框、进度指示条等。
能初步设计出自己较为满意的GUI图形用户界面。
三.实验内容一、句柄图形的概念句柄图形(Handle Graphics):是一种面向对象的绘图系统。
该系统提供创建计算机图形所必须的各种软件。
它所支持的指令,可直接创建线、文字、网线、面以及图形用户界面。
在MATLAB中的图形系统中,所有的图形操作都是针对图形对象而言的,每个对象从创建时起就被赋予了唯一的标识,这种标识就是该图像的句柄。
1.图形对象MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。
系统将每一个对象按树型结构组织起来。
每个具体图形不必包含每个对象,但每个图形必须具备根屏幕和图形窗口。
2.图形对象句柄MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。
句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。
java实验六-图形用户界面

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运行环境中的安装实验设备: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图形用户界面实验报告一、引言图形用户界面(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图形界面实验报告
实验报告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图形用户界面
信息工程学院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 布局。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的面向对象的编程思想。