基于java的图形用户界面及其应用内容摘要:
件可将消息发向所有被注册的事件监听器。 任何类型的事件都拥有一个对应的监听器 (接口)以及其他的实现类,它们对于作为事件源的组件来说是完全独立的。 授权型事件模式就是把对所引发事件的处理任务全部授权给这些独立的来进行处理 四 一个基于 JAVA 的图形用户界面实例的设计与实现 (一)运行环境配置 本程序的运行环境是 ,安装在 d 盘,其配置如下: ( 1) 如果你的操作系统是 Win 98,可以用记事本直接编辑 ,添加下面命令行: PATH=d:\\bin SET JAVA_HOME=d:\ SET CLASSPATH=.。 d:\\lib\。 d:\\lib\ 保存后,重新启动计算机,这样所添加的环境变量才会有效。 ( 2) 如果你的操作系统是 Win2020,那么按如下方式配置环境变量。 右键单击 我的电脑 ,在弹出菜单中选择 属性 → 系统特性 → 高级 → 环境变量 , 弹出环境变量对话框,就可以编辑系统的环境变量了。 添加 PATH、 JAVA_HOME 和 CLASSPATH 三个变量,变量值同上。 (二)程序设计 本程序是建立在 JAVA 图 形用户界面上,运用了 AWT 和 Swing 中大量的类,包括按钮,文本,菜单等部件类和框架,面板等容器类来说明 JAVA 中图形界面的实现。 本程序是模 8 拟 WINDOWS2020系统中开始菜单的,在程序中不在采用 WINDOWS2020系统的菜单形式,而是采用一个框架类对象 MyFrame 来实现。 如图 41 所示:( windows2020 中的开始菜单) 图 41 Windows2020系统 开始菜单 而在本程序中采用的框架方式来实现,而不在是如上的菜单。 如图 42: 图 42 菜单启动界面 在 本 界 面 选 项 中 , 包 括 proceduer,text,establish,search,help,carryout 分 别 与WINDOWS2020 系统的开始菜单对应。 为简单起见,本应用程序仅实现其中部分功能,在“ proceduer”中,只包括 start(启动), enclosure(附件),而在附件中,也只实现 计算器和计时器 功能。 对 text(文档) ,establish(设置) search(搜索) ,help(帮助) ,carryout(运行)等选项,只给出空监听器,并未实现。 如下: text: ActionListener textListener=new ActionListener() {public void actionPerformed(ActionEvent e) {…}} establish ActionListener estListener=new ActionListener() 9 {public void actionPerformed(ActionEvent e) {… }} search ActionListener seaListener=new ActionListener() {public void actionPerformed(ActionEvent e) {… }} help ActionListener helpListener=new ActionListener() {public void actionPerformed(ActionEvent e) {… }} carryout ActionListener carryListener=new ActionListener() {public void actionPerformed(ActionEvent e) {… }} 对于上述方法,是采用 JAVA 中的匿名内部类进行。 对于内部类,在 JAVA 中是受到争议的部分,并不是每个 JAVA 程序员都喜欢使用内部类。 JAVA 设计内部类的目标是为了比 C++简单。 但内部类却并不简单,它的语法很复杂,特别是匿名内部类更是不容易理解。 内部类同 JAVA 中的访问控制,以及安全性方面的交互也不明显。 对于匿名内部类的格式就如上面。 如第一个监听器 text: ActionListener textListener=new ActionListener() {public void actionPerformed(ActionEvent e) {…}} 对于上面的匿名内部类,可以还原为普通的类: 先设一个 Object Ob, public class Ob implements ActionListener{…… } ActionListener textListener=Ob。 这里就等价于上面的程序片段。 其它的几个匿名内部类都可以是和上面的方法一样的。 这里涉及到类类型转换问题,可以参考文献 [3]P88 页。 在本界面中,主要是对 Swing 包中 Jmenu 菜单项和 JmenuItem 菜单子项的应用。 JmenuItem 类和 Jbtton 类都是 抽象类的直接扩展,而 Jmenu 类又扩展了 JmenuItme 类,因此,菜单也是按钮。 当用户用鼠标点击菜单项或子项时,也会象用鼠标点击按钮一样产生动作事件,变化事件。 如上面的点击响应事件 actionPerformed()。 因为本程序是说明图形界面的实现,所以并未给出监听器的具体实现。 在 proceduer 中,包括一个菜单项和一个菜单子项。 对 start(启动)也只给出空监听器,可以以后在实现起功能。 对 enclosure(附件),包括 timeclock(计时器 ),circulat(计算器 )。 timeclock(计时器 )界面如下 10 图 43 timeclock(计时器 )界面 在本界面中,是对图形界面中很重要的一个类 Graphics 的应用,上图中的钟表完全是用 Graphics 类提供的函数所画。 (x+1,y+1,widthi1,heighti1)//画表面 (x,y,widthi,heighti)//画表框 (.,x,y)//画数字 (xcenter,ycenter,lastxs,lastys)//画直线 程序运行后,表就会和系统时间一样,开始运动。 为了实现此界面功能,就用到 JAVA中线程方面的接口,如 Runnable 接口,主要是对 run 方法的运用: public void run() { try{while(!interrupted()) {sleep(interval)。 (this)。 } } catch(InterruptedException e){} } 既当线程未被中断,线程 sleep 有 interval 秒,然后执行 ()方法,重新画图。 Interval 在本程序中设置为 1000,即 1 秒执行一次 timeElapsed()方法。 对于重画工作,是通过调用 paint()方法实现,即用钟面的颜色覆盖掉原表针颜色。 circulat(计算器 )界面 44: 11 图 44 circulat(计算器 )界面 在本界面中,主要是对按纽组件和布局器的运用,涉及到 (网格布局器) (边框布局器) 定义 CalculatorJPanel 为 Jpanel 的子类,并设置其为边框布局, (new GridLayout(rows,cols) 定义 CalculatorJFrame 框架类,设置其为网格布局, setLayout(new BorderLayout()) 然后加入上面的 CalculatorJPanel 面板和一个 JtextField 文本域: add(display,North) add(p,Center) 对于计算,则调用方法 calculate public void calculate(double n) {if((+))arg+=n。 else if(())arg=n。 else if((*))arg*=n。 else if((/))arg/=n。 else if((=))arg=n。 (+arg)。 } 以上既完成了本程序的基本界面设计,并用程序实现之。 12 五 结束语 通过本次设计,成功实现了基于 JAVA 的图形用户界面。 在此过程中,通过运用 JAVA的各种组件,并结合 JAVA 中的其他技术,如线程处理,布局控制来实现此界面。 在 JAVA`````中,图形用户界面主要通过其 AWT 及 Swing 来实现。 在本文中,通过一个计时器,一个计算器来说明其实现过程。 本文由于时间关系,图形界面比较简单,只是 说明了 JAVA 中图形用户界面的基本实现过程以及相关技术,各种功能并不完全。 通过本文,使我对 JAVA 中的各种技术更加的了解,对 JAVA 实现图形用户界面更加的熟悉,基本上掌握了图形用户界面方面的基本知识,以及起相关技术, 提高了我的自学能力,也锻炼了我分析问题解决问题的能力。 参考文献 [1][英 ]Russel WnDer,Gradam 软件开发 .北京:人民邮电出版社, ~ 115 [2][美 ]Joe Wigglosworth,Paula 程序设计高级主题 .北京:北京大学出版社 .303~354 [3](美) ,GaryCornell 著 .程峰译 .JAVA2 核心技术 卷 1:基础知识 . 北京:机械工业出版社 ,~ 266 [4]但正刚 .JAVA2 入门与提高 .北京:清华大学出版社 ,~ 59 [5] 进阶 . 北京:机械工业出版社 ,~ 70 [6]张倩,顾惠敏 .JAVA 实例开发 . 北京: 中国水利水电出版社, ~ 340 [7]赵强,乔新亮 .J2EE 应用开发 . 北京:电子工业出版社 , [8]黄聪明 .精通 JAVA2 程序设计 .北京:清华大学出版社, ~ 22 [9]樊荣 .JAVA 基础教程 .北京:机械工业出版社, ~ 89 [10]邵荣 .JAVA 编程实践指南 .北京:清华大学出版社 ,~ 356 [11]王碧波 .Jbuilder 10 入门与提高 .北京:清华大学出版社 ,~ 87 [12]彭晨阳 .JAVA 实用系统开发指南 .北 京:机械工业出版社, ~ 40 13 附录 程序如下: import .*。 import .*。 import .*。 import .*。 public class MyFrame extends JFrame implements ActionListener,MenuListener{ private JMenu procedure。 private JMenuItem textfile。 private JMenuItem establish。 private JMenuItem sear。基于java的图形用户界面及其应用
相关推荐
,能够实现增加学生, 增加教师,发布选修课,发布必修课的功能。 学生信息管理 学生信息修改 学生登录后可以修改自己的个人信息,进入学校中,系统初始化学生的学号,学号一般不会再变,因此学生是无法修改学号的,修改个人信息页面如图 42 所示: 如图 42 修改个人信息界面 学生 信息修改 功能步骤和关键代码如下: int flag = (update stu set xm=39。 +xm+39。 ,
方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具,那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。 所以说电子词典的发展前景是 明朗的,电子词典生产厂家也如同雨后春笋般崛起了。 功能需求分析 本系统在单词查阅方面主要完成了英译汉、汉译英、单词发音功能;在系统 性能方面主要完 成了单词库的插入、修改、删除功能以及帮助系统。 模块功能介绍
务流程分析 在进 行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等 [4]。 业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。 业务流程分析是通过业务流程图来进行
... 33 结 论 ..................................................................................................................................... 34 致 谢 ...............................................
于信息时代的社会。 物流仓储管理系统的建立成为各大企业势在必行的一大决策。 就国内外物流仓储管理系统的现状和发展来进行相关的需求分析,物流仓储管理的信息化程度对整个物流业的发展,起了十分重要的影响。 我国的物流仓储起步较晚,仓库一直是属于劳动密集型企业 ,而且劳动强度大,劳动条件差;从劳动效率来看,人工作业的劳动效率低下,库容利用率不高 【 9】。 国外仓储业的发展较早
RTX2020集群版” )。 该新版本是 RTX 专门为大型企业部署即时通信系统提供的一套完整的解决方案,能够以高度管理低成本、易部署的平台为大型企业提供服务。 而且,企业客户在采购企业即时通信软件时,考虑到与兄弟单位、关联企业以及上级部门将来的互联互通,考虑到 RTX 与 的使用习惯承接性能大大降低使用者的培训成本,加上 RTX 已经拥有的大量企业客户的良好口碑, RTX 应该是第一选择。