jdk1.7-awt/swing实现分析
文章平均质量分 77
netbaixc
这个作者很懒,什么都没留下…
展开
-
Java dnd拖拽实现分析纪要
Java dnd拖拽实现分析纪要既有的Swing组件都内置了拖拽的支持,是怎么样支持呢?首先,在Windows环境的jvm进程中,一个gui程序将启动两个线程:AWT-WINDOWS(AWT)和Event-Dispatch-Thread(EDT)。AWT-WINDOWS线程不断从windows操作系统中获取GUI事件并进行初步的底层处理;其中一些事件会被包装成高级的AWTEvent...2008-11-28 09:41:33 · 234 阅读 · 0 评论 -
JAVA Painting-Swing实现纪要三
JAVA Painting-Swing实现纪要三前两节实现了Swing的绘制机制,即在整个GUI应用中所有的绘制时机是怎么产生的,时机产生后又怎么样经过swing框架的基础处理最终进入合适组件开展具体paint。那么每个组件在得到绘制时机时,如何进行绘制?这就从计算机显示世界的历史开始说起了。在很久很久以前老一辈革命家是通过INT10直接向显示区内存书写显示字节数据,显示芯片会将这些数据按...2008-12-14 17:57:12 · 241 阅读 · 0 评论 -
JAVA Painting-Swing实现纪要二
JAVA Painting-Swing实现纪要二然后继续< JAVA Painting-Swing实现纪要一>by netbaixc。纪要一已经分析了swing paint机制的一个大概的轮廓。这里将主要分析RepatinManager是如何维护绘制请求,又如何执行绘制的。Componet类提供了几个重载repaint,public void repaint();public...2008-12-07 17:46:38 · 185 阅读 · 0 评论 -
JAVA Painting-Swing实现纪要一
首先推荐by Amy Fowler。Sun在JDK 1.0最初发布了图形API包,代号AWT (abstract windowing toolkit),里面除对GUI基本支持(如结合各OS的事件分发机制等)外,自有一套重量级开发GUI的思路,并提供了一组常规使用的重量级组件。所谓重量级组件就是每个组件都引用一个本地对等体peer成员对象,这个对等体对象利用本地系统GUI API绘制组件。后来在...2008-11-28 15:38:39 · 338 阅读 · 0 评论 -
JAVA InputMethod 输入法实现纪要
Jre1.7对输入法的支持使得java开发者能够方便地使用JAVA编写输入法,并整合适配了本地输入法,然后提供出一个在所有输入法中切换的菜单界面,并在以后的编辑文本过程中实现了一个高效的事件处理框架,最终实现了方便地利用输入法进行输入的用户体验。一.编写Java输入法及切换输入法支持。利用JAVA编写输入法只需实现两个核心接口:InputMethod,InputMethodDesc...2008-11-28 09:46:13 · 1667 阅读 · 0 评论 -
JAVA MouseEvent实现纪要
Jre1.7鼠标事件以MouseEvent类封装。共有如下8种:/** *The"mouseclicked"event.ThisMouseEvent *occurswhenamousebuttonispressedandreleased. */ publicstaticfinalintMOUSE_CLICKED = MOUSE_...2008-11-28 09:45:26 · 118 阅读 · 0 评论 -
Java Focus实现纪要三
特别注意:按java给出的Focus实现规范,jre1.7保证实现如下几点:1. Focus_Gained,Focus_Lost事件的序列。即如果在EDT中,应用程序查询currentFocusOwner,=A,此后=B,则中间一定按顺序收到A Lost,B Gain.这主要通过DefaultKeyboardFocusManager.dispatchEvent时,尤其是处理Ga...2008-11-28 09:44:49 · 250 阅读 · 0 评论 -
Java Focus实现纪要二
1. 在Jre1.7版本中,KeyboardFocusManager,DefaultKeyboardFocusManager这两个类,与Component, WComponentPeer类一起完成了focus的主要逻辑实现。DefaultKeyboardFocusManager是前者的系统默认实现。其单例注册在appcontext中,如果需要,程序员可以替代它,以扩展focus...2008-11-28 09:44:16 · 129 阅读 · 0 评论 -
Java Focus实现纪要一
窗口系统一般包含一个桌面GUI+若干应用程序GUI。每个GUI都由组件构成,每个组件都可以获得focus,获得focus的组件将获得之后的键盘事件,而任意时刻只有一个组件能获得focus。这个设计适用在当前所有的窗口系统,而跨各种系统的JAVA应用,其focus的表现也要遵循这个设计目标。JAVA的组件分为重量级和轻量级组件,区别在于重量级组件实例的成员peer-对等体,其行为紧密依托本地...2008-11-28 09:43:11 · 378 阅读 · 0 评论 -
JAVA Painting-Swing实现纪要四
JAVA Painting-Swing实现纪要四前三节大概描述了swing的绘制实现,现在补充一下Swing里十分重要的一个绘制概念:revalidate。按Swing的想法,将开发java界面的开发人员分为两类:首先是开发独立的组件,这些组件与具体应用无关,Swing自身也提供了一套,开发者也可以开发自己的组件,这些人是组件开发者角色;然后是为某应用程序构建GUI,则是使用那些组件类建立...2008-12-17 09:01:30 · 152 阅读 · 0 评论