自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

廖雪峰的Blog

==> www.liaoxuefeng.com

原创 官方网站正式上线!

请访问www.liaoxuefeng.com!

2013-04-27 12:01:59

阅读数 10620

评论数 0

原创 你决不可错过的JavaScript全栈教程

这是小白的零基础JavaScript全栈教程,具有如下特点: 是JavaScript全栈教程! 可以在线免费学习! 可以在线编写JavaScript代码并直接运行! 不要再犹豫了,立刻从现在开始,零基础迈向全栈开发工程师!

2015-07-21 13:21:58

阅读数 9958

评论数 3

原创 史上最浅显易懂的Git教程!

从零起步的Git教程,让你无痛苦上手世界上最流行的分布式版本控制系统Git! 既然号称史上最浅显易懂的Git教程,那这个教程有什么让你怦然心动的特点呢? 首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度; 其次,本教程实用性超强,边学边练,一点也不觉得...

2013-08-21 07:19:35

阅读数 43572

评论数 3

我的官方网站正式上线!欢迎访问!

经过一个月的准备,我的官方网站 http://www.liaoxuefeng.com 正式上线了!欢迎大家访问!请参照首页右侧说明更新RSS订阅地址,谢谢!   新的网站采用ExpressMe CMS系统搭建,目前内测中,无需注册,请使用您的Google帐号(就是GMail帐号)或者Yahoo...

2009-07-14 22:26:29

阅读数 195

评论数 0

原创 祝贺《Spring 2.0核心技术与最佳实践》入选2007十大技术图书!

祝贺《Spring 2.0核心技术与最佳实践》入选2007十大技术图书!

2008-01-27 19:28:00

阅读数 7425

评论数 1

新书上市《Spring 2.0核心技术与最佳实践》

新书终于上市了! 《Spring 2.0核心技术与最佳实践》一书由浅入深,详细介绍了Spring 2.0框架的几乎全部内容,并重点突出2.0版本的新特性,是一本注重实践而又深入理论的书,力图为读者展示如何应用Spring 2.0框架创建灵活高效的J2EE应用程序,并提供了一个真正可直接部署的完整...

2007-07-09 11:21:00

阅读数 69

评论数 0

原创 发布《中华诗词2006》!

中华诗词2006收录了上至《诗经》下至当代近两万余首诗词,免费提供给广大诗词爱好者。您可以自由地添加新诗词,或是您的作品:部分功能尚未实现,支持 Windows 2000 / XP 平台。您可以从下面的地址下载:http://www.crackj2ee.com/Soft/ShowSoft.asp?...

2006-03-27 12:02:00

阅读数 2598

评论数 4

原创 使用MIDP2.0开发游戏 (7) 设计Scheduler

Scheduler负责以固定的频率执行每一帧,所需的时钟由Clock提供,Scheduler还可以计算每帧所需时间和CPU占用率,以便可能的话动态调整任务。以下的Scheduler的实现参考自Marshall "Game Programming Gems 3"中的C++代码:p...

2004-09-20 22:39:00

阅读数 3470

评论数 10

原创 使用MIDP2.0开发游戏 (6) 设计Clock

Clock负责提供一个真实时间和一个虚拟时间,真实时间从0开始按ms递增,和硬件时钟是同步的;虚拟时间也从0开始按ms递增,但不一定和真实时间同步。要获得系统时间可以用System.currentTimeMillies(),系统硬件有一个计数器,当计算机启动时,计数器从0开始每1ms加1,Syst...

2004-09-19 15:56:00

阅读数 3345

评论数 2

原创 使用MIDP2.0开发游戏 (5) 游戏内核

我们准备开始设计游戏内核。通常,游戏和桌面Windows程序不同(扫雷等桌面游戏除外),它不能依赖消息驱动,因为游戏通常只有一个画面,而且需要高速更新。因此,游戏只能靠时钟驱动。大部分游戏都在一个时钟驱动下定时渲染一帧画面。此外,游戏需要接收用户输入,处理游戏事件(比如碰撞检测等),可能还需要AI...

2004-09-18 23:24:00

阅读数 3375

评论数 0

原创 使用MIDP2.0开发游戏 (4) 改进的地图生成方式

上次我们用Sprite实现了背景,但是这样不便于通过地图数据生成地图。通常,游戏中的地图都被分成NxN的方格,一般仅有几种图案。幸运的是,SUN在MIDP 2.0已经考虑到了游戏开发者需要的这个功能,TiledLayer便是通过贴图实现的层,它的使用同样异常简单!首先准备好我们需要的小块区域,在坦...

2004-09-03 20:50:00

阅读数 3848

评论数 24

原创 使用MIDP2.0开发游戏 (3) 添加背景和前景

上次我们已经让坦克动起来了,现在我们准备给游戏添加背景和前景。上次讨论了用Sprite实现动画,其实背景和前景也是用Sprite实现的,我们准备一幅背景和一幅前景图片:   注意背景可以不透明,但前景一定要处理成透明的png格式(以上均为jpg截图,请自行用Photoshop等转换)。修改Tank...

2004-08-31 21:09:00

阅读数 4006

评论数 6

原创 使用MIDP2.0开发游戏 (2) 使用Sprite

Sprite,精灵,顾名思义,专用来代表游戏中的动画角色,比如飞机,坦克等等。在MIDP1.0中,我们必须自己写专门的类来实现Sprite,幸运的是,MIDP2.0为Sprite提供了强力支持,可以创建静态,动态,不透明和透明的Sprite,下面我们准备在上次的GameCanvas基础上添加一个S...

2004-08-27 19:38:00

阅读数 8031

评论数 9

原创 使用MIDP2.0开发游戏 (1) GameCanvas基础

MIDP2.0提供了对游戏的强有力支持,通过javax.microedition.lcdui.game包,原来在MIDP1.0中很多需要自己写的功能现在都被当作标准API实现了,包括GameCanvas,Sprite,Layer等等。我们将使用MIDP2.0编写一个坦克大战的手机游戏,我也是初学J...

2004-08-26 19:36:00

阅读数 6320

评论数 6

原创 Jexi 1.0 beta

 庆祝中国队夺得雅典奥运会第一枚金牌!发布1.0测试版:Source Code: http://code.google.com/p/jexieditor/Compiled: http://jexieditor.googlecode.com/svn/trunk/Jexi/dist/

2004-08-14 19:55:00

阅读数 8551

评论数 22

原创 Jexi开发 (15) 实现图文混排

今天把最早设计的Picture类实现了,另外添加一个工厂PictureFactory用于创建Picture,放到程序中一测,没有调试立刻显示正常,呵呵,出乎我的意料,看来以后添加其他类型的Glyph也没有大问题:唯一的bug是图片两侧的光标大小和位置不对,今晚先看奥运,明早再解决这个小bug :)

2004-08-14 00:25:00

阅读数 4161

评论数 0

原创 Jexi开发 (14) 应用Command模式

Command模式用于封装用户操作再合适不过了!定义Command接口:public interface Command {    boolean execute();    void unexecute();    String toString();}toString()方法返回命令描述,可以...

2004-08-11 20:44:00

阅读数 3952

评论数 7

原创 Jexi开发 (13) 实现编辑功能

今天把Caret重新设计了一遍,用一个Position表示Caret的位置:public final class Position {??? private int pageIndex;??? private int rowIndex;??? private int columnIndex;???...

2004-08-05 22:33:00

阅读数 3791

评论数 0

原创 Jexi开发 (12) 实现光标输入

今天实现了光标定位,添加了输入功能,可以输入但不能删除^_^,另外实现了排版(以前是每行20个字符排),但是英文断字还没来得及写。源代码可以从此处下载,需要一个swt的jar和本地dll支持,写一个批处理运行:set CLASSPATH=.;java jexi.ui.Application把dll...

2004-08-04 19:29:00

阅读数 3091

评论数 0

原创 Jexi设计 (11) Sequence Diagram

画了一个Sequence:其中Document包含一个Caret,用来表示光标位置,View从Document获得Caret的位置后,将光标显示在指定位置上。为了简化,Application代表整个应用程序,Singleton模式,可以用Application.instance()获得唯一实例;F...

2004-08-03 20:59:00

阅读数 3768

评论数 0

原创 Jexi设计 (10) 坐标转换

坐标转换(修订)视图保存(offsetX, offsetY),表示文档相对于视图的起始坐标。文档在绘制时需要这个起始坐标(offsetX, offsetY),表示整个文档应该从此处绘制。上图中:viewWidth–docWidth viewHeight–docHeight 如果视图比文档还大:of...

2004-08-03 00:32:00

阅读数 3662

评论数 1

原创 Jexi开发 (9) UI界面预览

趁着周末有点时间,把绘制Document的功能做好了,又改好了以前的几个Bug,现在终于可以显示Document了: 当然Document的内容是我硬编码进去的,下一步就是编辑功能了。:)

2004-08-01 23:31:00

阅读数 3398

评论数 0

原创 Jexi设计 (8) 使用SWT创建GUI

目前Document类的结构已经比较完善了,由于编辑Document涉及到界面,所以先把GUI写出来。 用Java做界面一直是比较麻烦的事情,早期的AWT太慢,现在很少用了,Swing我没用过,但速度也快不了多少,最后发现SWT是一个不错的本地库,速度够快,而且效果和本地平台一样(因为是调用的平台...

2004-07-31 16:28:00

阅读数 5013

评论数 6

原创 Jexi代码 (7) Document类

Document相关类写得差不多了,先发布一个0.1版的代码,zip下载,还有很多要完善。 用Rose画的UML图,比较大 :) 如果你对设计有任何意见或建议,欢迎提出来讨论!

2004-07-28 19:19:00

阅读数 3045

评论数 2

原创 Jexi设计 (6) View设计

以下讨论View的设计。 Document是抽象的文档类,它包含了所有的数据和如何显示的信息,我们已经通过Page,Paragraph,Row等等抽象出来了。 Frame代表窗体对象,负责构造出窗体,菜单栏,工具栏等等,它可以接受用户的命令,然后将命令传递给Document。 View代表视图对象...

2004-07-27 19:25:00

阅读数 3753

评论数 6

原创 Jexi设计 (6) Document类的UML

前面讨论了用Document类表示MVC结构中的文档,并抽象出接口Glyph用于Composite模式,派生两类Glyph:基本数据结构Char,Picture和Paragraph;显示模型结构Row和Page,UML图如下: 对于任意一个Glyph对象,它可以知道: 自身的子结点 - chi...

2004-07-24 00:17:00

阅读数 4334

评论数 5

原创 Jexi设计 (5) 页面样式

仿照Microsoft Word,PageStyle的基本属性: float width; // 总宽度float height; // 总高度float leftMargin; // 左边距float rightMargin; // 右边距 float topMargin; // 上边距flo...

2004-07-22 20:48:00

阅读数 4155

评论数 0

原创 Jexi设计 (4) 文档类设计

文档类Document需要解决的三个问题: 1.?文档数据如何存储: 为了表示文档的层次结构而非显示结构,使用Composite模式,借用GoF的设计,定义接口Glyph,抽象出以下类: Char类:表示一个字符。 Picture类:表示一个图片。 Paragraph类:由若干个Char和Pic...

2004-07-18 18:24:00

阅读数 9244

评论数 6

原创 Jexi设计 (3) MVC模型

整个应用程序的模型准备采用文档-视图(document-view)模型,这里借用一下MFC的概念。 定义文档类Document,用于表示文档。 定义视图类View,用于显示文档。 框架类Frame可以用Swing或SWT实现。 因此,Jexi类似于MFC程序的MVC结构。

2004-07-18 18:08:00

阅读数 4347

评论数 0

原创 Jexi设计 (2) 用户需求

Jexi计划实现一个所见即所得的图文混排的编辑器,支持以下功能: 基本功能:文字录入,复制粘贴,删除,查找替换,打印等基本编辑操作。 扩展功能:图文混排,打印预览,多步Redo/Undo等。 暂不考虑其他如表格,绘图,特殊效果如字符阴影等复杂功能。 开发平台:java 1.4 开发工具:eclip...

2004-07-16 19:15:00

阅读数 4333

评论数 0

原创 Jexi设计 (1) Lexi研究

从今天开始准备正式写Jexi编辑器,目标就是《设计模式》中的C++例子Lexi:一个图文混排的所见即所得编辑器: 今天在公司闲的时候把《design patterns》的Lexi设计部分仔细看了一遍,整理了一下GoF的设计: 文档结构:应用Composite模式,如图: 通过接口Glyph,...

2004-07-16 18:42:00

阅读数 8287

评论数 7

原创 Jexi计划

最近准备再从头到尾深入看一遍《设计模式》,其中有一个案例研究:C++写的Lexi图文混排的编辑器,我准备用Java写一个类似的Jexi,呵呵,还不知道功力够不够,能不能写得出来,各位blogger有什么建议? 附图:Lexi:

2004-07-15 21:30:00

阅读数 4795

评论数 9

原创 状态模式之星际应用

一个对象有多种状态,在不同的状态下,同一种方法有不同的行为。如果用swich-case语句,将有大量的条件分支和逻辑代码混在一起。状态模式将每个状态封装到一个独立的类中,利用多态性使得不同状态下同一种方法表现不同的行为。 状态模式的UML图如下: 星际中人族的机枪兵Marine有两种状态:普通...

2004-02-15 23:42:00

阅读数 2528

评论数 2

提示
确定要删除当前文章?
取消 删除