第9次实验教案_图形用户界面程序设计
第一课《用Python编程》教学设计2023—2024学年新世纪版(2018)初中信息技术八年级上册

九.课后作业
1. 编写一个Python程序,实现以下功能:计算两个数的加、减、乘、除运算,并将结果输出。
```python
def calculate_operations(num1, num2, operator):
if operator == '+':
return num1 + num2
elif operator == '-':
布置课后作业:让学生撰写一篇关于Python编程的短文或报告,以巩固学习效果。
六、知识点梳理
1. Python编程环境的基本使用:Python解释器、IDE(集成开发环境)的安装和配置,例如PyCharm、Python的运行和调试。
2. Python语言的基础语法:变量、数据类型(整数、浮点数、复数、布尔值、字符串)、运算符、表达式、语句(赋值、比较、逻辑、条件、循环、异常处理)。
二、核心素养目标
1. 信息意识:培养学生能够运用计算机语言进行程序设计,理解编程的基本概念,形成对编程的兴趣和认知。
2. 计算思维:通过编程实践,培养学生解决问题的能力,包括逻辑思维、抽象思维和算法思维。
3. 数字化学习与创新:让学生掌握Python编程环境的使用方法,培养自主学习和解决问题的能力,为今后的学习和研究打下基础。
实验四 图形用户界面编程 实验报告

实验四图形用户界面编程实验报告一、实验目的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 的一些属性进行调整。
计算机仿真实验9次

实验一 MATLAB基础实验目的:1、熟悉MATLAB的操作环境;2、掌握MATLAB的基本运算指令。
实验内容:MATLAB的启动和退出方法,各菜单项的功能;MA TLAB的部分基本运算指令。
实验题目:1、自拟题目验证矩阵的生成、运算、翻转指令。
2、求解线性方程组AX=B。
1 1.52 9 7 30 3.6 0.5 -4 4 -4其中A= 7 10 -3 22 33 ,B= 203 7 8.5 21 6 53 8 0 90 -20 163、求方程 x^4+7x^3 +9x-20=0的全部根。
实验二 MATLAB程序设计实验目的:掌握MA TLAB的编程方法,命令窗口的数据输入和数据输出方法,控制程序流程的常用指令及其结构,以及函数文件的调用。
实验内容:1 M文件编辑器界面如下:要求:1)简单程序的编写与运行。
(自己找实例:程序M文件与函数M文件)2)熟练掌握各种程序控制语句。
循环语句:for循环,while循环条件语句:if else elseif分支语句:switchcontinue和break语句3)通过实际程序编制及执行,深入理解程序M文件与函数M文件的区别。
2 MA TLAB程序的编写。
input函数:用于向计算机输入一个参数。
pause函数:暂停程序的执行。
disp函数:命令窗口输出函数。
实验题目:1.求1~100的和。
2.求n的阶乘。
3.输入20个数,求其中最大数和最小数。
要求用循环结构输入数据,然后调用MA TLAB的max函数、min函数来实现。
(strcat是实现字符串串联的命令)4. Fibonacci数列(1.1.2.3.5.8.13…),就是数列中从第三项开始,任意一个数都是它前两数之和的数列。
要求:编制程序,使得运行程序后,输入大于2的数n就可以输出Fibonacci数列的前n项。
实验三MATLAB的绘图功能实验目的:掌握Matlab的图形处理功能,学会使用二维、三维图形绘制函数。
图形用户界面 实验报告二

图形用户接口081180015 戴稚晖通信工程一、实验目的1、了解嵌入式系统图形用户界面的基本编程方法。
2、探讨软件结构的层次关系,学习图形库的制作。
一、实验原理概述1、图形用户界面简介图形用户界面(GUI)是一种图形化为基础的用户界面,使用统一的图形操作方式,如可移动的视图,选项及鼠标,作为用户与操作系统之间的桥梁,从而使用户摆脱了在命令行提示符下与操作系统进行交互的方式。
在嵌入式系统设计中,常被选择作为GUI系统进行开发的有:MiniGUI、MicroWindows、OpenGUI和QT/Embedded。
这些GUI系统都是以Frame Buffer作为图形驱动。
Frame Buffer作为Linux内核提供的一种底层图形接口,将显示设备映射到进程地址空间,是大多数GUI的基础。
2、Frame Buffer简介Frame Buffer又称之为帧缓冲或显存,是系统内的一段存储空间,与显示屏的整个显示区域相对应,通过改变帧缓冲区的内容来改变显示信息。
Frame Buffer的空间大小由显示屏的大小和显示模式决定。
显示屏可以以单色或者彩色显示,单色用一位来表示颜色,彩色可以用2、4、8、16、24、32等位色。
显示屏有单屏和双屏显示模式。
其中双屏显示模式将整个屏幕分为两部分,每个部分有各自的Frame Buffer,它们的地址无需连续,并有独立的两个通道将Frame Buffer中的数据传输到显示屏。
3、Frame Buffer与图像色彩Frame Buffer支持多种颜色显示方式:单色,伪彩色,真彩色,直接色,灰度。
伪彩色的RGB值不能直接从Frame Buffer中得到,而是通过调色板间接得到,此时Frame Buffer中存放的是调色板的索引值,通过索引值获得颜色。
真彩色的RGB值直接从Frame Buffer中得到,且不需要经过调色板。
直接彩色Frame Buffer里存放的是RGB值,但需要经过调色板调色后传输到显示屏。
人机交互用户界面设计实验报告

实验一图形用户界面的设计一实验目的和要求1) 熟悉图形用户界面的设计原则2)利用一种设计工具完成图形化的用户界面设计二实验内容与步骤(一) 实验内容:利用常用的设计工具(VC/VB/Delphi/PB等)完成一个通用图形用户界面设计.要遵循界面设计的一般原则(一致性、快捷方式、提供错误处理).注意颜色的使用.学会使用图标、按钮、屏幕布局、菜单和对话框的设计(二)实验步骤1.设计多个对话框.完成填表输入界面的设计.合理使用图标、按钮、颜色;2.设计不同形式的菜单.完成对不同对话框的调用;3.提供简单的错误处理、联机帮助三界面示例1、登录界面2、主界面3代码:登录界面:using System;using System.Drawing;using System.Collections; using ponentModel; using System.Windows.Forms; using System.Data;using System.Data.OleDb;// Download by namespace er{/// <summary>/// Form1 的摘要说明。
/// </summary>public class Login : System.Windows.Forms.Form{private System.Windows.Forms.Button btClose;private System.Windows.Forms.TextBox password;private bel label3;private bel label2;private bel label1;private boBox comboName;/// <summary>/// 必需的设计器变量。
/// </summary>private ponentModel.Container components = null;private System.Windows.Forms.Button btSure;private OleDbConnection oleConnection1 = null;public Login(){//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//}/// <summary>/// 清理所有正在使用的资源。
图形用户界面编程教学课件ppt

界面风格:GUI程序的界面风格包括色彩、字体、间距、大小等视觉元素,这些元素共同决定了程序的整体外观。
图形用户界面编程进阶
04
多线程与图形渲染
多线程概述
多线程的概念、多线程的优点和缺点、线程的生命周期和线程同步。
界面响应性的定义、界面响应性的重要性、影响界面响应性的因素。
界面响应性与优化
界面响应性概述
介绍优化界面响应性的策略,包括减少UI操作的复杂度、使用缓存、优化数据加载等。
界面优化策略
通过实际案例来具体说明如何优化界面响应性。
实际案例分析
跨平台需求分析
可访问性设计理念
跨平台应用可访问性设计
跨平台与可访问性
图形用户界面编程实践
05
目的:通过制作简易计算器,让学生了解图形用户界面编程的基本概念、界面设计和事件处理方法。
下一步学习建议
通过实践来巩固所学知识,可以在实际项目中应用所学内容,加深对前端技术的理解和掌握。
加强实践
对于已经学习的前端框架,可以深入学习其原理、机制和最佳实践,提高自己的框架技能水平。
深入学习框架
可以学习后端技术,了解前后端的交互和数据流动,更好地掌握前端技术的实际应用。
学习后端技术
可以通过阅读相关技术文章、参加技术大会等方式,关注前端技术的最新动态和发展趋势。
GUI设计工具
介绍了一些常见的GUI设计工具,如Sketch、Figma、Adobe XD等,以及这些工具在GUI设计中的应用。
图形用户界面编程核心技术
03
பைடு நூலகம்
01
界面布局与控件
02
03
04
总结词:事件处理和交互逻辑是GUI程序的重要组成部分,它们使得程序能够响应用户操作并实现交互。
实验三--图形用户界面设计(汽院含答案)

实验三图形用户界面设计实验目的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布局。
青岛理工大学-实验4:图形用户界面设计

produceExam[i] = new ProduceExam(this.qustion[i],chooser[i]);
}; ProduceExam[] produceExam = new ProduceExam[5]; //统计选择正确的答案的个数,重复选择的不算 private int totalture = 0;
private JLabel endScore = new JLabel("你一共答对题 目:");
"你确定要提交答案吗?") == JOptionPane.OK_OPTION)
{ endScore.setText("你一共答对题目: "
+ totalture +"道"); }
} } }); restart.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){
课程实验报告
课程名称
ቤተ መጻሕፍቲ ባይዱ
Java 应用技术
班级 计算 112 实验日期 2013.10.24
姓名
学号
实验成绩
实验名称
实验 4:图形用户界面设计
实
1.掌握窗口和菜单的使用;
验
目
2.掌握文本框、按钮的使用、标签等常用图形组件的使用;
的
3.掌握面板和画布的使用及布局设计;
实验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,如图所示。
实验题目

实验一 Java语言概述【实验目的】1.掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。
2.熟悉Java应用程序的基本结构,并能联合编译应用程序所需要的类。
文件保存要求:在D:盘新建文件夹“学号”,在“D:\ 学号”下新建文件夹“timu1”。
题目1的文件保存在“timu1”中,以下依次类推。
【题目1】1、实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
2、程序模板:请按模板要求,将【代码】替换为Java程序代码。
3、实验后的练习a.编译器怎样提示丢失大括号的错误。
b.编译器怎样提示语句丢失分号的错误。
c.编译器怎样提示将System写成system这一错误。
d.编译器怎样提示将String写成string这一错误。
【题目2】1、实验要求:编写3个源文件:、、,每个源文件只有一个类。
含有应用程序的主类(含有main方法),并使用了Teacher和Student类。
将3个源文件保存到同一目录,D:\timu2,然后编译。
2、程序模板:请按模板要求,将【代码】替换为Java程序代码。
3、实验后的练习a.将编译通过后,不断地修改源文件中的【代码2】。
比如,在命令行窗口输出“我是语文老师”或“我是数学老师”。
要求每次修改源文件后,单独编译,然后直接运行应用程序(不要再编译)。
b.如果需要编译某个目录下的全部Java源文件,如D:\1001目录,可以使用如下命令:D:\1001>javac *.java请练习上述命令。
【题目3】1、实验要求:课本第15页习题2、实验后的练习习题8.(4)实验四类与对象【实验目的】1.掌握使用类来封装对象的属性和行为。
2.掌握对象的组合以及参数传递。
3.掌握类变量与实例变量,以及类方法与实例方法的区别。
文件保存要求:在D:盘新建文件夹“shiyan04”,在“D:\ 20120shiyan04”下新建文件夹“timu1”。
实验八--图形用户界面设计

实验八图形用户界面(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取值为字符串,定义了控件的标识(标签),在任何程序中都可以通过这个标识控制该控件对象。
图形用户界面(八)

实验八图形用户界面1.实验目的1、学会处理ActionEvent事件2、学会使用布局类3、学习焦点、鼠标和键盘事件2.实验内容1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。
1) 实验1算术测试2) 实验2布局与日历3) 实验3华容道2、完成习题:1)修改实验1的代码,再增加“小学生”级别,并增加测试乘、除法的功能。
2)编写应用程序,有一个标题为“移动”的窗口,窗口布局为null,在窗口中有两个按钮,单击一个按钮让另一个按钮移动。
3.实验步骤1、完成实验内容1中的程序填空、编译通过,并运行得到正确结果。
2、设计完成实验内容2中要求的程序,并通过编译、运行,最后得到正确结果。
4.评分标准1.A——内容功能完善,编程风格好,人机接口界面好;2.B——内容功能完善,编程风格良好,人机接口界面良好;3.C——完成必做内容;4.D——能完成必做内容;5.E——未按时完成必做内容,或者抄袭(雷同者全部为E).参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。
(压缩包的文件名为:学号后三位和名字开头字母,如109zhh.RAR|ZIP)实验1 算术测试模板代码Teacher.javaimport java.util.Random;import java.awt.event.*;import javax.swing.*;public class Teacher implements ActionListener{int numberOne,numberTwo;String operator=" ";boolean isRight;Random random;int maxInteger;JTextField textOne,textTwo,textResult;JLabel operatorLabel,message;Teacher(){random=new Random();}public void setMaxInteger(int n){maxInteger=n;}public void actionPerformed(ActionEvent e){String str=e.getActionCommand();if(str.equals("getProblem")){numberOne=random.nextInt(maxInteger)+1;numberTwo=random.nextInt(maxInteger)+1;double d=Math.random();if(d>=0.5){operator="+";}else{operator="-";}textOne.setText(""+numberOne);textTwo.setText(""+numberTwo);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}else if(str.equals("answer")){String answer=textResult.getText();try{int result=Integer.parseInt(answer);if(operator.equals("+")){if(result==numberOne+numberTwo){message.setText("你回答正确");}else{message.setText("你回答错误");}}else if(operator.equals("-")){if(result==numberOne-numberTwo){message.setText("你回答正确");}else{message.setText("你回答错误");}}}catch(NumberFormatException ex){message.setText("请输入数字字符");}}}public void setJTextField(JTextField...t){textOne =t[0];textTwo =t[1];textResult =t[2];}public void setJLabel(bel){operatorLabel=label[0];message=label[1];}}ComputerFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class ComputerFrame extends JFrame{JMenuBar menubar;JMenu choiceGrade;JMenuItem grade1,grade2;JTextField textOne,textTwo,textResult;JButton getProblem,giveAnswer;JLabel operatorLabel,message;Teacher teacherZhang;ComputerFrame(){teacherZhang=new Teacher();teacherZhang.setMaxInteger(20);setLayout(new FlowLayout());menubar=new JMenuBar();choiceGrade=new JMenu("选择级别");grade1=new JMenuItem("幼儿级别");grade2=new JMenuItem("儿童级别");grade1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){teacherZhang.setMaxInteger(10);}});grade2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){teacherZhang.setMaxInteger(50);}});choiceGrade.add(grade1);choiceGrade.add(grade2);menubar.add(choiceGrade);setJMenuBar(menubar);//【代码1】//创建textOne,其可见字符长是5textTwo=new JTextField(5);textResult=new JTextField(5);operatorLabel=new JLabel("+");operatorLabel.setFont(new Font("Arial",Font.BOLD,20));message=new JLabel("你还没有回答呢");getProblem=new JButton("获取题目");giveAnswer=new JButton("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new Label("="));add(textResult);add(giveAnswer);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.setActionCommand("getProblem");textResult.setActionCommand("answer");giveAnswer.setActionCommand("answer");teacherZhang.setJTextField(textOne,textTwo,textResult);teacherZhang.setJLabel(operatorLabel,message);//【代码2】//将teacherZhang注册为getProblem的ActionEvent事件监视器//【代码3】//将teacherZhang注册为giveAnwser的ActionEvent事件监视器//【代码4】//将teacherZhang注册为textResult的ActionEvent事件监视器setVisible(true);validate();setDefaultCloseOperation(DISPOSE_ON_CLOSE);}}MainClass.javapublic class MainClass {public static void main(String[] args) {ComputerFrame frame;frame=new ComputerFrame();frame.setTitle("算术测试");frame.setBounds(100,100,650,180);}}实验2 布局与日历模板代码CalendarBean.javaimport java.util.Calendar;public class CalendarBean {String [] day;int year=2008,month=0;public int getYear() {return year;}public void setYear(int year) {this.year = year;}public int getMonth() {return month;}public void setMonth(int month) {this.month = month;}public String [] getCalendar() {String [] a=new String[42];Calendar 日历=Calendar.getInstance();日历.set(year,month-1,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;int day=0;if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) day=31;if(month==4||month==6||month==9||month==11)day=30;if(month==2) {if(((year%4==0)&&(year%100!=0))||(year%400==0))day=29;elseday=28;}for(int i=星期几,n=1;i<星期几+day;i++) {a[i]=String.valueOf(n) ;n++;}return a;}}CalendarFrame.javaimport java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.awt.*;import java.util.*;public class CalendarFrame extends JFrame implements ActionListener { JLabel labelDay[]=new JLabel[42];JButton titleName[]=new JButton[7];String name[]={"日","一","二","三","四","五","六"};JButton nextMonth,previousMonth;CalendarBean calendar;JLabel showMessage=new JLabel("",JLabel.CENTER);int year=2011,month=2;public CalendarFrame(){JPanel pCenter=new JPanel();//【代码1】//将pCenter的布局设置为7行7列的GridLayout布局.for(int i=0;i<7;i++){titleName[i]=new JButton(name[i]);titleName[i].setBorder(new SoftBevelBorder(BevelBorder.RAISED));//【代码2】//pCenter中添加组件titleName[i]}for(int i=0;i<42;i++){labelDay[i]=new JLabel("",JLabel.CENTER);labelDay[i].setBorder(new SoftBevelBorder(BevelBorder.LOWERED));//【代码3】//pCenter中添加组件labelDay[i]}calendar=new CalendarBean();nextMonth=new JButton("下月");previousMonth=new JButton("上月");nextMonth.addActionListener(this);previousMonth.addActionListener(this);JPanel pNoth=new JPanel(),pSouth=new JPanel();pNoth.add(previousMonth);pNoth.add(nextMonth);pSouth.add(showMessage);//【代码4】//将窗口pCenter添加到中央区域//【代码5】//将窗口pNoth添加到北面区域//【代码6】//将窗口pSouth添加到南面区域setYearAndMonth(year,month);setDefaultCloseOperation(DISPOSE_ON_CLOSE);}public void setYearAndMonth(int y,int m){calendar.setYear(y);calendar.setMonth(m);String day[]= calendar.getCalendar();for(int i=0;i<42;i++){labelDay[i].setText(day[i]);}showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.month+"月"); }public void actionPerformed(ActionEvent e) {if(e.getSource()==nextMonth){month=month+1;if(month>12){month=1;}calendar.setMonth(month);String day[]=calendar.getCalendar();for(int i=0;i<42;i++){labelDay[i].setText(day[i]);}}else if(e.getSource()==previousMonth){month=month-1;if(month<1){month=12;}calendar.setMonth(month);String day[]=calendar.getCalendar();for(int i=0;i<42;i++){labelDay[i].setText(day[i]);}}showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.month+"月");}}CalendarMainClass.javapublic class CalendarMainClass {public static void main(String[] args) {CalendarFrame frame=new CalendarFrame();frame.setBounds(100,100,360,300);frame.setVisible(true);frame.setYearAndMonth(2013,5);}}实验3 华容道模板代码MainClassHRR.javapublic class MainClassHRR {public static void main(String[] args) {{ Hua_Rong_Road HRR=new Hua_Rong_Road();}}}Person.javaimport java.awt.event.*;import java.awt.*;import javax.swing.*;public class Person extends JButton implements FocusListener {int number;Color c=new Color(255,245,170);Font font=new Font("宋体",Font.BOLD,12);Person(int number,String s){ super(s);setBackground(c);setFont(font);this.number=number;c=getBackground();addFocusListener(this);}public void focusGained(FocusEvent e){ setBackground(Color.red);}public void focusLost(FocusEvent e){ setBackground(c);}}Hua_Rong_Road.javaimport java.awt.event.*;import java.awt.*;import javax.swing.*;public class Hua_Rong_Road extends JFrame implements MouseListener,KeyListener, ActionListener {Person person[]=new Person[10];JButton left,right,above,below;JButton restart=new JButton("重新开始");public Hua_Rong_Road(){ init();setBounds(100,100,320,360);setVisible(true);setDefaultCloseOperation(DISPOSE_ON_CLOSE);validate();}public void init(){ setLayout(null);add(restart);restart.setBounds(100,320,120,25);restart.addActionListener(this);String name[]={"曹操","关羽","张","刘","周","黄","兵","兵","兵","兵"};for(int k=0;k<name.length;k++){ person[k]=new Person(k,name[k]);person[k].addMouseListener(this);person[k].addKeyListener(this);add(person[k]);}person[0].setBounds(104,54,100,100);person[1].setBounds(104,154,100,50);person[2].setBounds(54, 154,50,100);person[3].setBounds(204,154,50,100);person[4].setBounds(54, 54, 50,100);person[5].setBounds(204, 54, 50,100);person[6].setBounds(54,254,50,50);person[7].setBounds(204,254,50,50);person[8].setBounds(104,204,50,50);person[9].setBounds(154,204,50,50);person[9].requestFocus();left=new JButton(); right=new JButton();above=new JButton(); below=new JButton();add(left); add(right);add(above); add(below);left.setBounds(49,49,5,260);right.setBounds(254,49,5,260);above.setBounds(49,49,210,5);below.setBounds(49,304,210,5);validate();}public void keyTyped(KeyEvent e){}public void keyReleased(KeyEvent e){}public void keyPressed(KeyEvent e){ Person man=(Person)e.getSource();if(e.getKeyCode()==KeyEvent.VK_DOWN){ go(man,below);}if(e.getKeyCode()==KeyEvent.VK_UP){ go(man,above);}if(e.getKeyCode()==KeyEvent.VK_LEFT){ go(man,left);}if(e.getKeyCode()==KeyEvent.VK_RIGHT){ go(man,right);}}public void mousePressed(MouseEvent e){ Person man=(Person)e.getSource();int x=-1,y=-1;x=e.getX();y=e.getY();int w=man.getBounds().width;int h=man.getBounds().height;if(y>h/2){ go(man,below);}if(y<h/2){ go(man,above);}if(x<w/2){ go(man,left);}if(x>w/2){ go(man,right);}}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e) {}public void go(Person man,JButton direction){ boolean move=true;Rectangle manRect=man.getBounds();int x=man.getBounds().x;int y=man.getBounds().y;if(direction==below)y=y+50;else if(direction==above)y=y-50;else if(direction==left)x=x-50;else if(direction==right)x=x+50;manRect.setLocation(x,y);Rectangle directionRect=direction.getBounds();for(int k=0;k<10;k++){ Rectangle personRect=person[k].getBounds();if((manRect.intersects(personRect))&&(man.number!=k)){ move=false;}}if(manRect.intersects(directionRect)){ move=false;}if(move==true){ man.setLocation(x,y);}}public void actionPerformed(ActionEvent e){ dispose();new Hua_Rong_Road();}}。
图形用户界面程序设计

试验过程纪录(含基本步骤、主要程序清单及异常情况记录等)
程序如下:
function varargout = radiobutton1_Callback(h, eventdata, handles, varargin)
set(handles.radiobutton1,'value',1)
《Matlab》实验报告
实验序号:03日期:2011年11月16日
实验名称
图形用户界面程序设计
问题背景描述:用单选框做一个如图所示的界面,通过选择不同的单选框来决定使用不同的色彩图。
实验目的:图形用户界面(GUI)的程序已经成为应用程序的主流,使用图形用户界面的应用程序,用户可以方便地通过鼠标等输入设备与程序进行信息交换,控制程序的运行。
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',1)
set(handles.radiobutton4,'value',0)
set(handles.radiobutton5,'value',0)
colormap(hot)
实验原理与数学模型:
利用Matlab提供的图形用户界面设计工具,可以设计各种要求的图形用户界面,并在此基础上完成强大的应用程序开发
实验所用软件及版本:
Matlab6.1
主要内容(要点):(1)建选框,用于选择不同的色图;
(3)输入callback函数的内容:
set(handles.radiobutton2,'value',0)
set(handles.radiobutton3,'value',0)
Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

《Java面向对象程序设计案例教程》
7.2 Swing基础
• Swing组件是Java语言提供的第二代GUI设计工 具包,它以AWT为基础,在AWT内容的基础上 新增或改进了一些GUI组件,使得GUI程序功能 更强大,设计更容易、更方便。
• Swing与AWT有以下不同。
• (1) Swing是完全用Java语言编写的,所以称 Swing组件是轻量级组件,没有本地代码,不依 赖操作系统的支持,比AWT构件具有更强的实 用性。Swing在不同的平台表现一致,并且有能 力提供本地窗口系统不支持的其他特性。
《Java面向对象程序设计案例教程》 • Swing的类层次结构如图所示:
《Java面向对象程序设计案例教程》
• 3. 简单的范例 • 一个简单的Swing GUI应用程序。该程序生成一个窗
口, • 窗口中有一个标签,用于显示输出。 • (1) 程序代码: • 1. import java.awt.* ; • 2. import javax.swing.* ; • 3. public class SwingDemo • 4. { • 5. public static void main(String args[]) • 6. { • 7. JFrame fm = new JFrame("第一个Windows程序") ; • 8. JLabel label = new JLabel("这是第一个GUI程序") ;
• 教材例题7-12 利用组合框显示、选取地名。
• 教材例题8.2 ,例题8.3用不同方法生成JFrame窗口
《Java面向对象程序设计案例教程》
• 7.3.2 面板容器JPanel
• 面板JPanel也是Java中常用到的容器之一,面板是一种透明 的容器,既没有标题,也没有边框,就像一块透明的玻璃。 与JFrame不同,它不能作为最外层的容器单独存在,它首 先必须作为一个构件放置到其他容器中,然后再把它作为容 器,把其他构件放到其中。
图像处理gui界面课程设计

图像处理gui界面课程设计一、课程目标知识目标:1. 理解图像处理的基本概念和原理;2. 掌握GUI界面的基本组成和功能;3. 学习并运用图像处理软件进行基本操作和调整;4. 了解图像处理在现实生活中的应用。
技能目标:1. 能够独立操作图像处理软件,进行基本的图像编辑和调整;2. 学会使用GUI界面中的各项功能,提高图像处理效率;3. 培养观察、分析图像的能力,提升审美素养;4. 能够结合实际需求,运用所学知识解决图像处理问题。
情感态度价值观目标:1. 培养学生对图像处理的兴趣和热情,激发创新意识;2. 增强学生的团队协作意识,学会与他人分享和交流;3. 培养学生认真负责的态度,对待图像处理工作细致严谨;4. 引导学生关注图像处理在科技、文化、艺术等领域的应用,提高跨学科素养。
本课程针对初中年级学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。
通过本课程的学习,使学生能够掌握图像处理的基本知识和技能,培养他们的审美情趣和团队协作能力,激发创新思维,为未来的学习和生活打下坚实基础。
二、教学内容1. 图像处理基本概念:图像、像素、分辨率、颜色模式等;2. GUI界面组成:菜单栏、工具箱、调板、状态栏等;3. 图像处理软件基本操作:打开、保存、关闭图像,图像缩放、旋转等;4. 图像调整:亮度、对比度、饱和度调整,裁剪、锐化、模糊等;5. 图像图层与蒙版:图层概念、图层操作,蒙版原理及应用;6. 图像特效制作:滤镜、效果应用,创意合成;7. 图像处理应用案例:海报设计、照片修复、艺术创作等;8. 团队协作与作品展示:分组进行项目实践,分享交流作品。
教学内容依据课程目标进行选择和组织,确保科学性和系统性。
教学大纲明确教学内容安排和进度,具体如下:1-2课时:图像处理基本概念和GUI界面组成;3-4课时:图像处理软件基本操作;5-6课时:图像调整与图层、蒙版;7-8课时:图像特效制作;9-10课时:图像处理应用案例及团队协作;11课时:作品展示与评价。
实验三 图形用户界面设计(汽院含答案)学习资料

实验三图形用户界面设计(汽院含答案)实验三图形用户界面设计实验目的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布局。
图形化界面课程设计c

图形化界面课程设计c一、教学目标本课程的教学目标是让学生掌握图形化界面的基本概念、设计原则和实现方法。
通过本课程的学习,学生应该能够:1.理解图形化界面设计的基本概念和原则,包括界面布局、颜色搭配、图标设计等。
2.掌握图形化界面设计的工具和技术,如Photoshop、Illustrator等软件的使用。
3.能够独立完成简单的图形化界面设计,具有良好的审美和创新能力。
4.培养对图形化界面设计的兴趣和热情,提高学生的人际沟通和团队协作能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.图形化界面设计的基本概念和原则,包括界面布局、颜色搭配、图标设计等。
2.图形化界面设计的工具和技术,如Photoshop、Illustrator等软件的使用。
3.图形化界面设计的实践操作,包括设计思路、设计流程、设计技巧等。
4.图形化界面设计的案例分析,分析优秀界面设计的原因和启示。
三、教学方法为了达到本课程的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解图形化界面设计的基本概念和原则,让学生掌握基本知识。
2.实践操作法:通过实际操作,让学生掌握图形化界面设计的工具和技术。
3.案例分析法:通过分析优秀界面设计案例,让学生了解图形化界面设计的实践应用。
4.团队协作法:通过小组合作完成项目,培养学生的团队协作能力和沟通能力。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选择合适的图形化界面设计教材,为学生提供理论支持。
2.参考书:提供一些相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:收集一些优秀的图形化界面设计案例,用于案例分析。
4.实验设备:准备图形设计软件和计算机,供学生实践操作使用。
五、教学评估本课程的评估方式将包括以下几个方面:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。
2.作业:通过布置图形化界面设计相关的作业,评估学生的设计能力和创意水平。
实验9 图形用户界面

实验9 图形用户界面一、实验目的初步掌握图形用户界面工具包的使用技术,初步掌握设计和构造用户界面中基本图形的方法。
了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,事件响应机制,理解和掌握图形用户界面系统中人机交互功能的实现技术。
了解Java提供的框架、面板、滚动面板等各种容器和各种布局控件的使用方法。
二、实验要求1. 理解并掌握Applet程序的生命周期。
2. 掌握Font类的构造方法和成员方法。
3. 掌握Color类的构造方法、数据成员常量和成员方法。
4. 掌握Polygon类的构造方法和成员方法。
5. 掌握Graphics类用于绘制各种几何图形的方法。
6. 掌握在A pplet 容器中添加组件的方法。
7. 了解J ava Swing 组件的使用方法。
8.掌握常用布局类的使用。
9.掌握容器Jpanel及JFrame容器的使用方法。
10.理解J ava 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
11. 掌握编写独立运行的窗口界面的方法。
三、实验内容(一)文字与图形GUI设计1.程序功能:本程序包含A pplet 的4个与生命周期相关的方法init()、start()、stop ()、destroy()。
程序中创建了自定义方法a ddWords()来显示相应的字符串。
addWords 方法首先在标准输出即屏幕上显示字符串参数,然后将字符串添加到字符串缓冲区b uffer,通过调用r epaint 方法重画页面,首先自动调用u pdate 方法将当前画面清空,然后再调用p aint 方法在指定位置显示字符串。
编写L X12_1.java 程序文件,源代码如下。
import java.applet.Applet;import java.awt.Graphics;public class LX12_1 extends Applet {StringBuffer buffer=new StringBuffer();public void init() {addWords("执行了初始化方法 init()...");}public void start() {addWords("执行了开始方法s tart()...");}public void stop() {addWords("执行了停止方法s top()...");}public void destroy() {addWords("执行了清除方法d estroy()...");}void addWords(String s) {System.out.println(s);buffer.append(s);repaint();}public void paint(Graphics g) {g.drawString(buffer.toString(),5,15);}}2.在Applet中输出自己的名字、班级及学号,要求名字设置为24号黑体,班级以及学号设置为16号加粗斜宋体。
《设计程序界面》导学案

《设计程序界面》导学案第一课时一、导言程序界面设计是计算机科学领域中的重要组成部分,它直接影响用户体验和使用效果。
本导学案旨在帮助学生了解程序界面设计的基本原理和方法,以及如何设计出符合用户需求的界面。
二、学习目标1. 了解程序界面设计的重要性和作用。
2. 掌握程序界面设计的基本原理和方法。
3. 能够根据用户需求设计出合理的程序界面。
4. 熟练运用设计工具进行程序界面设计。
三、学习内容1. 什么是程序界面设计?2. 程序界面设计的原则和方法。
3. 用户体验与界面设计的关系。
4. 常用的设计工具和软件介绍。
四、学习活动1. 小组讨论:- 分组讨论程序界面设计的重要性和作用。
- 分析几个常用应用程序的界面设计是否符合用户需求。
2. 知识讲解:- 讲解程序界面设计的基本原理和方法。
- 介绍用户体验与界面设计的关系,让学生了解用户需求的重要性。
3. 设计实践:- 学生使用设计工具进行界面设计练习,根据老师提供的案例进行设计。
- 老师针对学生设计的界面进行评价和指导,帮助他们提高设计水平。
4. 总结反思:- 学生总结本节课学习到的内容,思考如何应用到实际项目中。
- 老师引导学生思考未来的学习方向和发展重点。
五、作业要求1. 设计一个简单的程序界面,包括布局、颜色、字体等设计元素。
2. 编写设计过程中的思考和心得体会,至少500字。
3. 提交作业时需整理设计稿和思考文档。
六、拓展阅读1. 《界面设计模式》2. 《用户体验设计》3. 《程序界面设计实践指南》七、学习评价通过课堂表现、作业质量和思考深度等多方面评价学生的学习情况,以此指导学生后续学习和提高设计水平。
第二课时导学案主题:设计程序界面一、导入你是否曾经使用过各种软件应用,感受到了不同的界面设计带来的舒适感或者困惑感?程序界面设计在软件开发中占据着非常重要的地位,它直接影响到用户体验的好坏。
本节课我们将学习如何设计程序界面,让用户能够更加方便快捷地使用软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9 图形用户界面程序设计
实验目的:
1、通过编写程序掌握按钮、标签、文本框、菜单的使用方法
2、掌握ActionEvent、ItemEvent事件类接口监听器的产生,添加方法
3、掌握复选框、的创建与常用的使用方法
4、掌握以上各控件的事件响应过程及相应的处理方法
实验内容:(使用Jbuilder2005编写Application)
一、新建主类及主窗体
1.新建工程:【file】-【new project】,输入工程名Tes9;
2.新建Application:【file】-【new General】-Application,输入工程名主类名(class name 如图琐事),点击【next】,输入主窗体名:TestFrame,和标题栏文字“实验9主窗体”;
3.在打开的主窗体中点击【UI】视图,添加一个Swing控件:“File JMenuBar”如图所
示;
4.点击主窗体中【Menu】视图,添加菜单后,运行界面如下图所示:
二、新建“设置标签颜色”窗体
1.新建窗体:【new】-【Greneral-Frame】,在代码视图中,找到jbInit()方法设置窗体大
小及标题,语句如下:this.setSize(360,140); this.setTitle("设置标签颜色");
2.在窗体中加入两个按钮名分别为“红色”,“蓝色”,还有一标签,其中显示的内容为
“hello,world”,要求按“红色”按钮时标签中的文字变为红色,按“蓝色”按钮时标签中文字显示蓝色,程序界面如下图所示:
提示:
使用jLabel1.setForeground(Color.RED);来改变标签的字体颜色。
3.在主窗体中的代码视图中定义成员变量Frame1 f;
4.然后进入主窗体的设计视图,对主菜单编程,双击鼠标(如图所示),
输入代码:f1=new Frame1();
f1.setVisible(true);
三、新建其它3个窗体
1、“设置标签字体”窗体中有:三个单选按钮名称分别为:“宋体”、“隶书”、“楷体”;二个复选框名称分别为:“加粗”、“倾斜”;一个标签,标签中显示内容为“计算机”;要求程序执行时选择不同的选项时标签中的文字会发生相应的变化
提示:
➢设置字体的语句:
Font a=new Font("楷体",Font.PLAIN,24);
//Font.ITALIC斜体;Font.PLAIN正常;Font.BOLD粗体;
jl.setFont(a);
➢判断复选框是否被选中的方法:
AWT组件:cb1.getState(),如果是true表示复选框cb1被选中;
swing组件:jcb1.isSelected(),如果是true表示复选框cb1被选中。
2、“输入用户名和密码”窗体中有两个标签,显示的文字分别为“请输入用户名:”,“请输入密码:”,还有一个文本框和一个密码框,一个按钮名为“确定”,当在文本框中分别输入用户名和密码,按确定按钮后,就显示用户输入的用户名和密码。
提示:
➢AWT组件:使用setEchochar(char c)设置密码框,getText()取得数据。
➢swing组件:使用jPasswordField()创建密码框,使用以下语句得到数据并显示:String pwd=new String(jPasswordField1.getPassword());
jLabel3.setText(pwd);
“计算两个数的和”窗体中有两个标签,显示的文字分别为“请输入第一个数字”,“请输入第二个数字”,还有两个文本框,当用户在文本框中输入两个数字按回车键后显示用户输入两个数的和。
提示:
➢将字符串转换为double型的方法:Double.parseDouble()
➢浮点型double转换成字符串String的方法为String.valueOf()
小结:
要求掌握图形用户界面各种组件的创建及相关的事件处理。