欢迎来到天天文库
浏览记录
ID:34558536
大小:283.51 KB
页数:39页
时间:2019-03-07
《java图形界面程序开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java图形界面程序设计计算机学院通信软件工程中心张艳梅ymzhang@bupt.edu.cn1本章主要内容:1、AWT和Swing包2、MVC模块视图控制器3、设计小棍游戏的GUI界面4、Applet程序5、图形界面设计6、Graphics类的使用21、让简单的事从容,让困难的事可行让程序员轻松打造在所有平台上都让人满意的GUI。java1.0的AWT包适合开发applet重量级组件,依赖于底层的操作系统java2.0的Swing包java基础类JFC的一部分,由纯java代码编写轻量级组件,与平台无关,基于AWT可抽换的外观风格常见的
2、可视化工具介绍31、awt和swing的关系Objectjava.langjava.awtjavax.swingjava.appletComponentJFrameDialogFramePanelWindowsContainerApplet顶级窗口类JDialogJWindowJApplet容器可包含其它容器以特定顺序装入/删除组件getContentPane()内容嵌板来容纳组件41、awt和swing的关系组件类Objectjava.langjava.awtjavax.swingJComponentJPopupMenuJListAbs
3、tractButtonComponentContainerJOptionPaneJTextComponentJMenuBarJScrollPaneJLabelJPanelJToggleButtonJButtonJMenuItemJTextAreaJTextFieldJCheckBoxJRadioButtonJMenuJPasswordField将相关组件放在一个面板52、MVC模块视图控制器任何可视化组件可总结为三方面:状态(模型)、表示(视图)、做什么(控制器)。模型内部状态控制器行为监视器视图外部显示状态变化事件鼠标键盘事件java方
4、法调用改变状态外观可抽换外观风格MotifWindowsMetal62、事件驱动编程模型事件由计算机硬件产生,通过操作系统和应用程序进行过滤,并由监听器来处理。java接口ActionListener抽象方法actionPerformed(ActionEvente)使用模型:创建一个ActionListener接口类,覆写actionPerformed方法;然后把需监听事件的组件注册进去class组件监听类implementsActionListener{publicvoidactionPerformed(ActionEvente){if
5、(e.getSource()==组件名)...;}}new组件监听类对象需监听的组件对象名.addActionListener(监听对象);通常把ActionListener写为无名内隐类:ActionListener监听对象=newActionListener(){publicvoidactionPerformed(ActionEvente){if(e.getSource()==组件名)...;}}72、布局管理器java组件的摆放位置,由布局管理器安排默认布局BorderLayoutContainercp=getContentPane
6、();cp.add(“Center”,组件名);流式布局FlowLayoutcp.setLayout(newFlowlayout());cp.add(组件名);表格布局GridLayoutcp.setLayout(newGridLayout(列数,行数));cp.add(组件名);GridBagLayout,主要用于GUI建造工具BoxLayout,可以垂直或水平控制组件位置NorthWestCenterEastSouth82、JavaBeans组件编程模型可视化编程:当你凭视觉将组件从组件盘拖拉至设计面板上,GUI建造工具便会自动为你写
7、代码。通常你需要改变组件属性(MVC),建造工具会存储这些配置。JavaBeans,将类对应为可视化编程组件Bean命名规则:get属性,set属性add事件监听,remove事件监听放入标准的Bean容器内(JAR文件)Bean清单文件类名.mfBeanclasses93、设计小棍游戏的GUI图形界面设计思路:决定如何用输入、输出和控制组件与用户交互。顶级窗口组件JFrame输入小棍数JTextField输入提示JLabel取小棍操作按钮JButton游戏进程跟踪JTextArea组合面板JPanel按钮监听ActionListener
8、103、设计小棍游戏的GUI图形界面算法思路:用户和计算机对弈,先让用户走,假如游戏没有结束,执行计算机的移动。Letusermove.Ifgame:gameisn’toverandcompu
此文档下载收益归作者所有