用户图形界面设计与实现-监听事件

System.applet.Applet

(一)用户自定义成分

1.绘制图形

Public voit piant(Ghraphics g){  g.drawLine等图形名称(坐标1234);g.file图形名(坐标123)}

2.设置字体-Font类

(1)定义font:Font myfont=new Font(“字体”,”样式”,字号);

例如:Font myfont=new Font(“宋体”,Font.BOLD,12);

(2)引用定义的Font:类/容器/控件等.setFont(myfont);

例如:Graphics g=new Graphics();g.setFont(myfont);

3.设置颜色:Color co=new Color(R,G,B);三原色,类型是int或者float;对象:setColor(co);

此外还有:

.setBackColor(Color co);getBackColor(Color co);setForeColor(Color co);getForeColor(Color co);

4.显示图片:二进制图像(跟图片不同,一般少用,最多调用一些系统内在的图像)

Graphics g=new Grahphics();g.drawImage(笔刷类对象,x0,y0,x1,y1,对象(画纸));

5.实现动画效果:原理跟flash动画一样,图片运动

(二)java的标准组件与事件处理

1.java事件处理机制:

事件源+注册监听对象——触发事件actionevent—调用和传递参数——监听者实现接口;

2.GUI标准组件概述

使用控制组件一般的过程:

(1)创建组件类的新对象,指定属性(外观大小)——对象实例化

(2)添加到相关的位置或者容器中

(3)注册给一个事件监听者,方便它对控件发生的事件做出响应

3.事件监听和接口

(1)ActionEvent动作事件

发起原因:单击双击选择菜单 文本的回车等

注册方法:事件源对象.addActionListener(监听者)

监听接口:ActionListener

处理方法:actionPerformed(ActionEvent e)

(2)ItemEvent项目事件

发起原因:列表框改变、下拉选单选中、复选改变状态等

注册方法:事件源.addItemListener(监听者)

监听接口:ItemListener

处理方法:itemStateChanged(ItemEvent e)

(3)MouseEvent 鼠标事件

引起原因:鼠标点击进入等等变化

注册方法:事件源.addMouseListener(监听者)

监听接口:MouseListener

处理方法:mouseClick/mouseEnter /mouseExit/mousePressed/mouseReleased(MouseEvent e)

(4)MouseMotion 鼠标移动事件(鼠标移动)

引起原因:鼠标移动拖动

注册方法:事件源.MouseMotionListener(监听者)

监听接口:MouseMotionEvent

处理方法:mouseMove/mouseDragged(MouseEvent e)

(5)KeyEvent键盘操作事件

引起原因:键盘操作

注册方法:事件源.addKeyListener(监听者)

监听接口:KeyListener

处理方法:keyPress/KeyRelease/KeyTyped(KeyEvent e)

(6)FocusEvent 焦点事件

产生原因:组件焦点获取和失去

注册方法:事件源.addFocusListener(监听者)

监听接口:FocusListener

处理方法:focusGained/focusLost(FocusEvent e)

(7)AdjustmentEvent 调整事件

产生原因:滚动条变化

注册方法:事件源.addAdjustmentListener(监听者)

监听接口:AdjustmentListener

处理方法:adjustmentValueChanged(AdjustmentEvent e)

(8)TextEvent 文本事件

产生原因:文本内容变化

注册方法:事件源.addTextChangedListener(监听者)

监听接口:TextListener

处理方法:textValueChanged(TextEvent e)

(9)ComponentEvent 组件事件

产生原因:组建移动,改变大小,可见性等

注册方法:事件源.addComponentListener(监听者)

监听接口:ComponentListener

处理方法:componentHidden/moved/Resized/Shown(ComponentEvent e)

(10)WindowEvent 窗口事件

产生原因:窗体变化

注册方法:事件源.addWindowsListener(监听者)

监听接口:WindowListener

处理方法:windowClosed/Opened/Closing/Activated/Deactivated/Iconfied(最小化)/

windowDeiconfied(最大化)(WindowEvent e)

(11)ContainerEvent 容器事件

产生原因:容器增加或移走

注册方法:事件源.addContainerListener(监控者)

监听接口:ContainerListener

处理方法:componentAdd/Removed(ComtainerEvent e)

原文:http://www.cnblogs.com/mrrxu/p/4057727.html

java图形界面的监听_非专业码农 JAVA学习笔记 用户图形界面设计与实现-所有控件的监听事件...相关推荐

  1. ListView通过自定义适配器来显示数据并对Item项以及子view项的控件实现监听.

    本篇主要功能. 通过xml pull解析得到数据,然后通过自定义的Adapter绑定数据源,ListView绑定适配器,并且实现Item项的点击事件以及子View控件的点击事件. 一.实体类. Boo ...

  2. 安卓学习笔记3——登录界面UI

    安卓学习笔记3--登录界面UI 一.登录界面UI 1.根据需求写UI 2.主活动 3.主活动调用的读写文件的工具类 4.效果展示 二.总结与改进 不足: 1.密码分割采用字符串:当密码和用户名包含该字 ...

  3. UE5 Shader基础学习笔记——01-12 图形管线/创建shader/数学节点/贴图压缩/LerpDotUV/常用向量/坐标空间/MinMaxClampSaturate/法线贴图混合

    UE5 Shader基础学习笔记--01-12 图形管线/创建shader/数学节点/贴图压缩/LerpDotUV/常用向量/坐标空间/MinMaxClampSaturate/法线贴图混合 Lec01 ...

  4. Python学习笔记·交互式图形编程

    Python学习笔记·交互式图形编程 注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教! 课程是在中国大学MOOC上学的,有兴趣的同学可以自 ...

  5. java swing实现图文混排_跟我学Java Swing之游戏设计(4)

    你有没有经历过装修?尽管它是件劳神费力的事,可现代人还是不遗余力地在装修上花尽心思.毕竟,在这个视觉支配感观的时代里,谁会嫌自己家太漂亮呢?今天,就让我们秉着精益求精的完美主义精神,在上次已经完成的游 ...

  6. 【Android开发】自定义ListView,使用通用适配器,并实现ListView上的每一项和每一项上的按钮等控件同时监听

    ListView在Android开发中是比较常用的系统组件,但是有时候我们除了需要做ListView上每一行的点击监听事件之外,如果每一行上还有其他需要监听的控件例如Button.CheckBox等, ...

  7. java list e 查找_源码(04) -- java.util.ListE

    java.util.List 源码分析(JDK1.7) ------------------------------------------------------------------------ ...

  8. ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密

    **PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式 ...

  9. 微信小程序 音乐播放控件,监听播放事件, 音乐播放的基本实现

    下面我将会为大家初步讲解利用微信小程序的音乐控件制作音乐播放器,以及会遇到的一些问题,最后会附上源码包喔! 图片以及音乐都必须使用网络链接体 播放器 播放之后闪退,是因为音乐的链接失效了所以 闪退 监 ...

最新文章

  1. H5页面获取原生APP的登录状态
  2. 【IDE】关于IDE生成文件大小的计算
  3. shell脚本之for循环
  4. 深度学习福利入门到精通第四讲——GoogleNet模型
  5. 马化腾:卓越领导者的五种习惯(作出表率尤为重要)
  6. 2012.4.23总结
  7. 大数据Hadoop学习记录(5)----Ubuntu16.4下安装配置HBase
  8. 精细加工领域中超快激光的应用
  9. 手机连接Fiddler后无法上网(已解决)
  10. 使用代码查重工具sim 为LDUOnlineJudge增加代码查重功能
  11. 创建mysql对象_mysql创建statement对象
  12. 黑客比程序员高在哪里?
  13. UER-py快速上手
  14. GCTA学习3 | GCTA的两篇NG:fast-LMM和fast-GLMM
  15. 关于高通CAMX架构下的AE调试的总结
  16. 南非监管机构严厉打击Facebook的联系人共享
  17. 有没有什么大学生搜题比较好用的网站或APP
  18. 复制 python cache 文件到预训练模型
  19. Maven系列之使用阿里云仓库
  20. Shell正则表达式详解(一)

热门文章

  1. HDU 1999 不可摸数
  2. AUTOSAR从入门到精通100讲(二十一)-AUTOSAR通信篇—IpduM模块
  3. html动画用css还是js,javascript与css3动画结合使用小结
  4. 复旦大学计算机保研经历,#易保研#经验分享 | 个人经历分享,圆梦复旦大学!...
  5. js实现复制粘贴功能
  6. Ocrad.js – JS 实现 OCR 光学字符识别
  7. koa中上传文件到阿里云oss实现点击在线预览和下载
  8. Html5和Css3扁平化风格网页
  9. block,inline,inline-block的区别
  10. 搭建本地wordpress