GUI
容器:1、JWindow 2、JFrame 3、JDialogo 4、JApplet
边界布局管理:
布局方式:把整个容器划分为五个部分:东西南北中,南北要贯通,中间最大(不仅是范围,权利也最大),
使用场景:不是用来直接放组件的,而是用来放置子容器(中间容器)的
流布局管理:
布局方式:按从左往右、从上往下,由中间开始的方式依次排放组件、组件大小要根据组件内容确定
使用场景:是用来放置组件的,而不是用来放中间容器的、流布局最好只做单行布局
网格布局管理:
布局方式:按行列将整个容器划分为等大的区域,放入的子容器的数目如果与设置的数目不等,优先保证行改变列
使用场景:不是用来直接放组件的,而是用来放置子容器的(中间容器)
事件处理:
委托事件模型:1、事件源---按钮
2、监听器对象
*:事件源和监听器对象具有绑定的关系,一个监听器可以绑定多个事件源,一个事件源也可以绑定多个监听器
事件处理步骤: 1、写好界面,事件源已经有了
2、选择合适的监听器类型
3、书写监听器实现类(写好处理代码)
4、产生监听器对象和事件源对象进行绑定
实现方式1:单独书写一个类,来实现监听器接口
特点:1、可以让一个监听器坚挺多个事件,用if判断分割,但这么做违背了单一职责。因此从设计上来说应该为每一个事件单独写一个监听器
2、如果需要造作非事件源的其他组件,必须传参
实现方式2:让容器充当监听器
特点:1、可以让一个监听器坚挺多个事件,用if判断分割,但这么做违背了单一职责。
2、操作本容器的组件不用传参
实现方式3:匿名内部类----再跟事件源对象绑定监听器对象的同时,实现监听对象
特点:1、每个事件源对象拥有独立的监听器类,同时没有多的JAVA文件,既满足单一,又没增加代码数量
2、操作外部容器类的任何自检或者子容器不用传参
监听器的抽象方法-----回调方法
GUI的更多相关文章
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- 如何通过Git GUI将自己本地的项目上传至Github
最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...
- git图像化界面GUI的使用
GIT学习笔记 一. 基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...
- egret GUI 和 egret Wing 是我看到h5 最渣的设计
一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type ...
- [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...
- 1.JAVA之GUI编程概述
下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式: ...
- 2.JAVA之GUI编程布局
布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...
- 3.JAVA之GUI编程Frame窗口
创建图形化界面思路: 1.创建frame窗体: 2.对窗体进行基本设置: 比如大小.位置.布局 3.定义组件: 4.将组件通过add方法添加到窗体中: 5.让窗体显示,通过setVisible(tur ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- 5.JAVA之GUI编程窗体事件
我们回顾下第三篇时的内容: 在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉. 现在我们就来解决下这个问题. ******************* ...
随机推荐
- iPhone5停留在语音的界面,提示按三次home键,无法继续下去
不知道之前用户是怎么操作的,可能是刷机或恢复出厂设置.穷人,没用玩过iPhone. 根据提示关键词,网上搜索,发现只需要按三次home,三次锁屏,三次锁屏,最后再三次home就可以了. 试了两次,还真 ...
- 使用COALESCE时注意left join为null的情况
1.使用COALESCE时,用到group by with cube,如果之前两个表left join时,有数据为null,就会使得查出的数据主键不唯一 例如: select COALESCE (c. ...
- HTML 表单和输入<textarea><label><fieldset><legend><select><optgroup><option><button>
textarea><label><fieldset><legend><select><optgroup><option>& ...
- 新手使用django-pagination分页
首先使用pip instal pagination 即可完成安装. (pycharm里就是安装个django-pagination外包) 完成后配置如下: 1. 将安装文件中的 pagination ...
- css3放大效果
参考案例: http://www.web-designers.cn/ http://www.harmay.com/ 鼠标经过图片,图片放大. 1.html: <body> <div& ...
- Vue2.X的路由管理记录之 钩子函数(切割流水线)
$route可以在子组件任何地方调用,代表当前路由对象,这个属性是只读的,里面的属性是 immutable(不可变) 的,不过你可以 watch(监测变化) 它. 导航和钩子函数: 导航:路由正在发生 ...
- 巩固基础知识,从C# in depth开始
真是书到用时方恨少,平时都是完成任务,书都是看个前面几章就扔书柜了.... 今天看了博客园一篇文章<我们为什么应该坚持写博客>,很有感触,觉得人生不能得过且过,以前为了各种原因,家庭,孩子 ...
- ListView
ListView:列表展示数据1.视图 - 在其右上方小箭头点击将视图改为Largelcon:或右键属性在外观View将其改为Details2.设置列头 - 在其右上方小箭头点击选择编辑列,然后添加列 ...
- Jquery下拉列表添加移除数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- sql 生成指定相同数量数据
select *from 表名 ,(SELECT NUMBER FROM master..spt_values WHERE number BETWEEN 1 AND 2 AND TYPE='P' ...