版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京传智播客教育Java预热班讲义冯佳北京传智播客教育GUI(图形用户界面)GUIGraphicalUserInterface(图形用户接口)。用图形的方式,来显示计算机操作的界面,这样更方便更直观。CLICommandlineUserInterface(命令行用户接口)就是常见的Dos命令行操作。需要记忆一些常用的命令,操作不直观。举例:比如:创建文件夹,或者删除文件夹等Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中。北京传智播客教育Awt和SwingAwt与Swingjava.Awt:AbstractWindowToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。北京传智播客教育继承关系图Component组件Container集装箱Window窗口Panel面板Frame框架FileDialog文件对话框Checkbox复选框Label标签Button按钮TextComponent文本组件TextArea区域TextField框Dialog对话框Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。北京传智播客教育布局管理器容器中的组件的排放方式,就是布局。常见的布局管理器:FlowLayout(流式布局管理器)从左到右的顺序排列。Panel默认的布局管理器。BorderLayout(边界布局管理器)东,南,西,北,中Frame默认的布局管理器。GridLayout(网格布局管理器)规则的矩阵CardLayout(卡片布局管理器)选项卡GridBagLayout(网格包布局管理器)非规则的矩阵北京传智播客教育建立一个简单的窗体Container常用子类:WindowPanel(面板,不能单独存在。)Window常用子类:FrameDialog简单的窗体创建过程:Framef=newFrame(“mywindow”);f.setLayout(newFlowLayout());//设置布局管理器f.setSize(500,400);//设置窗体大小f.setLocation(300,200);//设置窗体出现在屏幕的位置f.setIconImage(Toolkit.getDefaultToolkit().createImage("qq.png"));Buttonbutton=newButton("我是一个按钮");f.add(button);f.setVisible(true);北京传智播客教育事件监听机制组成事件源(组件)被操作的组件事件(Event)操作组件产生的动作监听器(Listener)等待动作产生事件处理(引发事件后处理方式)北京传智播客教育事件监听机制流程图事件源(组件)监听器监听引发事件的动作(事件处理方式)1将监听器注册到事件源外部动作2有监听器所监听的动作作于事件源上事件对象3产生事件对象4将事件对象传给事件处理方式北京传智播客教育事件监听机制确定事件源(容器或组件)通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上。该方法中接收XXXListener的子类对象,或者XXXListener的子类XXXAdapter的子类对象。一般用匿名内部类来表示。在覆盖方法的时候,方法的参数一般是XXXEvent类型的变量接收。事件触发后会把事件打包成对象传递给该变量。(其中包括事件源对象。通过getSource()或者,getComponent()获取。)北京传智播客教育窗口事件关闭窗体。Framef=newFrame("我的窗体");//事件源是窗体,把监听器注册到事件源上//事件对象传递给监听器f.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){//退出虚拟机,关闭窗口 System.exit(0); }});北京传智播客教育窗口中按钮关闭窗体Buttonbutton=newButton("我是按钮");//事件源是按钮,给按钮注册监听器button2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ System.exit(0); }});北京传智播客教育键盘事件(KeyEvent)查看API,键盘所有键都有对应的值chargetKeyChar()返回与此事件中的键关联的字符。intgetKeyCode()返回与此事件中的键关联的整数keyCode。
staticStringgetKeyText(intkeyCode)返回描述keyCode的String,如"HOME"、"F1"或"A"。staticStringgetKeyModifiersText(intmodifiers)返回描述修改键的String,如"Shift"或"Ctrl+Shift"。北京传智播客教育键盘事件(组合键)Buttonbutton=newButton("我是按钮");button.addKeyListener(newKeyAdapter(){ publicvoidkeyPressed(KeyEvente){//调用父类InputEvent的方法 if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER){ System.out.println("ctrl+enter"); } }});button3.addKeyListener(newKeyAdapter(){ publicvoidkeyPressed(KeyEvente){ intx=e.getModifiers(); KeyEvent.getKeyModifiersText(x); System.out.println(KeyEvent.getKeyText(e.getKeyCode())); }});北京传智播客教育键盘事件(屏蔽)TextFieldtf=newTextField();Dialogd=newDialog(f,"错误提示信息",false);//定义一个文本框,该框中只能输入数字,因为接收是qq号。tf.addKeyListener(newKeyAdapter(){ publicvoidkeyPressed(KeyEvente){ intcode=e.getKeyCode(); if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9)){ //System.out.println("只能是数字,别的不行"); lab.setText("只能是数字,"+e.getKeyChar()+"不行"); d.setVisible(true); e.consume();//取消事件的默认处理效果。 } }});北京传智播客教育鼠标监听器(MouseListener)voidmouseClicked(MouseEvente)鼠标按键在组件上单击(按下并释放)时调用。voidmouseEntered(MouseEvente)鼠标进入到组件上时调用。voidmouseExited(MouseEvente)鼠标离开组件时调用。voidmousePressed(MouseEvente)鼠标按键在组件上按下时调用。voidmouseReleased(MouseEvente)鼠标按钮在组件上释放时调用。北京传智播客教育菜单继承体系MenuComponent菜单组件MenuBar菜单条MenuItem菜单项Menu菜单北京传智播客教育菜单MenuBar,Menu,MenuItem先创建菜单条,再创建菜单,每一个菜单中建立菜
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全素养培训内容2026年知识体系
- 2026年岗前安全责任制培训内容专项突破
- 植树节的一天作文6篇
- 呼伦贝尔市牙克石市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 荆州市公安县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 上饶市弋阳县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 贺州市昭平县2025-2026学年第二学期三年级语文第六单元测试卷(部编版含答案)
- 潍坊市安丘市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 齐齐哈尔市建华区2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案)
- 乌兰察布盟商都县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 医疗耗材销售培训课件
- 车位买卖合同补充协议样本
- 2025年学历类高职单招智能制造类-化学参考题库含答案解析(5套试卷)
- 第8课 动物的耳朵 课件 青岛版六三制一年级科学下册
- 零件CAM软件编程-CAXA制造工程师 课件全套任务1-7 CAXA 制造工程师 2022 软件功能认知-壳体加工
- IPC-4552B-2024EN印制板化学镀镍浸金(ENIG)镀覆性能规范英文版
- 化工安全工程概论-第五章
- GB/T 4340.3-2025金属材料维氏硬度试验第3部分:标准硬度块的标定
- 浙江省公路工程质检资料管理文件用表
- 西部计划考试考题及答案
- 全国职业院校技能大赛高职组(市政管线(道)数字化施工赛项)考试题库(含答案)
评论
0/150
提交评论