--thumbelina.jar 这是一个演示图片搜索和显示的小程序JFrame
Preferences.userNodeForPackage(getClass());
根据传入的class所在包的路径创建一个preferences
prefs.flush(); 保存到文件
项目中字符串拼接多采用StringBuilder
Lexer类用于对html格式的字符串解析成Node
mImage = Toolkit.getDefaultToolkit().createImage(bytes);
//通过byte[]创建图片
Rectangle功能很强大,可以计算与另一个Rectangle是否重叠,和获取重叠的的矩形
file = File.createTempFile("thumbelina", suffix); file.deleteOnExit();
//创建临时文件
JViewport
用于查看底层信息的“视口”或“观察孔”。在滚动时,移动部分称为视口。这好像通过照相机的取景器进行查看。将取景器向上移动会将图片顶部的内部移入视野,而底部的内容将消失。
Tile类
英文是瓦,砖块的意思,很形象,接口编程,能得到“砖块”大小及位置Rectangle,它的状态Valid(有效/无效),它的id,项目里是图片对应的url
Picture类
负责下载图片,并且它实现了Tile,就可以在TileSet中显示了。它还有PictureListener属性,可以把图片状态的改变事件暴露出来。
PictureListener接口 对图片状态的监听
PicturePanel类 没看明白里面内嵌类Watcher的作用??
Sequencer类 把Picture放到队列里,一个线程定时地去取队列里面的图片,并呈现出来。
TileSet类 把矩形“瓦”集中起来,处理一些矩形重叠的问题,图片分割和整合部分看不懂。
ThumbelinaFrame类 程序的主界面
Thumbelina类 主要是对图片和链接的获取逻辑。2014-6-3