<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>Lin's Space</title>
<link>http://blogger.org.cn/blog/blog.asp?name=jerry585</link>
<description>Great Void的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[练声方法 练歌的第一步]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=40787</link>
<author>jerry585</author>
<pubDate>2008/10/23 19:21:38</pubDate>
<description><![CDATA[<P>练声方法</P>
<P>&nbsp;&nbsp; 1：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一阶段：未曾出声先练气研究资料表明人在正常情况下，每分钟呼吸16—19次，每次呼吸过程约3、4秒钟，而演唱时，有时一口气要延长十几秒，甚至更长，而且吸气时间短，呼出时间长，必须掌握将气保持在肺部慢慢呼出的要领，所以要先做：&nbsp;&nbsp;&nbsp; <BR>　　(一)“深吸慢呼气息控制延长练习”。 <BR>　　其要领是：先学会“蓄气”，先压一下气，把废气排出，然后用鼻和舌尖间隙像“闻花”一样，自然松畅地轻轻吸，吸的要饱，然后气沉丹田，慢慢地放松胸肋，使气像细水长流般慢慢呼出，呼得均匀，控制时间越长越好，反复练习4—6次。&nbsp;&nbsp;&nbsp;&nbsp; <BR>　　(二)“深吸慢呼数字练习” <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们把第一步骤称为“吸提推送’，“吸提”的气息向里向，“推送”的气息向外向下，在“推送”同时做气息延长练习。我们推荐三种练法： <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A.数数练习：“吸提”同前。在“推送”同时轻声快速地数数字“12345678910”，——口气反复数，数到这口气气尽为止，看你能反复数多少次。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B．“数枣”练习：“吸提”同&nbsp;&nbsp;&nbsp;&nbsp; 前。在“推送”同时轻声：“出&nbsp;&nbsp;&nbsp;&nbsp; 东门过大桥，大桥底下一树枣，拿竹竿去打枣，青的多红的少&nbsp;&nbsp;&nbsp;&nbsp; (吸足气)一个枣两个枣三个枣&nbsp;&nbsp;&nbsp;&nbsp; 四个枣五个……这口气气尽为止，看你能数多少个枣。反复4—6次。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C．“数葫芦”练习：“吸提”&nbsp;&nbsp;&nbsp;&nbsp; 同前。在“推送”同时轻声念：“金葫芦，银葫芦，一口气数不了24个葫芦(吸足气)一个葫芦二个葫芦三个葫芦……”，这口气气尽为止，反复4—6次。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数数字、“数枣”、“数葫芦”控制气息，使其越练控制越，千万不要跑气。开始腹部会出现酸痛，练过一段时间，则会自觉大有进步。&nbsp;&nbsp;&nbsp;&nbsp; <BR>　　(三)“深吸慢呼长音练习” <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 经过气息练习，声音开始逐步加入。这一练习仍是练气为主，发声为辅，在推送同时择一中低音区，轻轻地男生发“啊”音(“大嗓”发“啊”是外送与练气相顺)，女生发“咿”音(“小嗓”咿”是外送)。一口气托住，声音出口呈圆柱型波浪式推进，能拉多长拉多长，反复练习。&nbsp;&nbsp;&nbsp;&nbsp; <BR>　　(四)“托气断音练习” <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这是声、气各半练习。双手插腰或护腹，由丹田托住一口气到额咽处冲出同时发声，声音以中低音为主，有弹性，腹部及横膈膜利用伸缩力同时弹出，我们介绍三种练习： <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A.一口气托住，嘴里发出快速的“噼里拍啦，噼里拍啦”(反复)到这口气将尽时发出“嘭一啪”的断音。反复4—6次。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B．一口气绷足，先慢，后快地发出“哈工哈)—(反复)(加快)哈，哈，哈……”锻炼有进发爆发力的断音，演唱中的“哈哈…”大笑、“啊哈”、“啊咳”常用。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C．一口气绷足，先慢后快地发出“嘿—厚、嘿—厚”(反复逐渐加快)“嘿厚，嘿厚……”加快到气力不支为止，反复练习。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 经过这一阶段练习，气为声之本，气为声之帅的气息，已基本饱满，“容气之所”已基本兴奋、活跃起来，而声音一直处于酝酿、保护之中，在此基础上即可开始准备声音练习了。&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第二阶段：气、声、字的练习 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 戏曲演员尤其京剧演员包括戏曲爱好者在喊嗓练声上容易犯急于求成的毛病，恨不能很快地就能喊出又高又亮的嗓音来，急着喊高音，猛喊甚至瞎喊乱喊，这往往是事与愿违的。我们在研究喊嗓练声时，有意地先练气息不急于发声，是利于发声练习，要大家明确一个循序渐进的规律和持之以恒的毅力。在这第三阶段，我们建议还是不急于爬音阶喊高音，而从气、声、字结合练起。这三者关系应排成这样一个顺序：气为音服务，音为腔服务，腔为字服务，字为词服务，词为情服务。从这个顺序中，我们可以看到字的位置居于中心，前面牵着“音”和“腔”，后面联着“词”与“情”。当中一塌，满盘皆输。字音的真切，决定着声音的圆润，“以字行腔”正是这个理儿。在喊嗓练声中的字、音、气的关系，应是托足了“气”，找准了“音”，咬真了“字”。具体方法是：用汉语拼音的方法把字头、字腹、字尾放大放缓，以字练声，然后加快，同时练嘴皮子和唇齿牙舌喉的灵活性。</P>]]></description>
</item><item>
<title><![CDATA[VIM 特性集合]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=40766</link>
<author>jerry585</author>
<pubDate>2008/10/23 0:01:40</pubDate>
<description><![CDATA[<P>　VIM 特性集合&nbsp;&nbsp;&nbsp; <BR>&nbsp;<BR>首先明白四种Vim的模式（有五种，一般只用到四种）<BR>1、普通模式：就是刚打开后的那种。<BR>2、命令模式：就是在下面输入：后接命令的那种。<BR>3、插入模式：就是可以输入的模式。<BR>4、可视模式：就是按下v,V或ctrl-v后的模式，用于选中多字符、多行、块来进行操作。</P>
<P>一、代码折叠：</P>
<P>1. 折叠方式<BR>可用选项 'foldmethod' 来设定折叠方式：set fdm=*****。<BR>有 6 种方法来选定折叠：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; manual&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 手工定义折叠<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 更多的缩进表示更高级别的折叠<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用表达式来定义折叠<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; syntax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用语法高亮来定义折叠<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; diff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对没有更改的文本进行折叠<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; marker&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对文中的标志折叠<BR>注意，每一种折叠方式不兼容，如不能即用expr又用marker方式，我主要轮流使用indent和marker方式进行折叠。</P>
<P>使用时，用：set fdm=marker 命令来设置成marker折叠方式（fdm是foldmethod的缩写）。<BR>要使每次打开vim时折叠都生效，则在.vimrc文件中添加设置，如添加：set fdm=syntax，就像添加其它的初始化设置一样。</P>
<P>2. 折叠命令<BR>选取了折叠方式后，我们就可以对某些代码实施我们需要的折叠了，由于我使用indent和marker稍微多一些，故以它们的使用为例：<BR>如果使用了indent方式，vim会自动的对大括号的中间部分进行折叠，我们可以直接使用这些现成的折叠成果。<BR>在可折叠处（大括号中间）：<BR>zc&nbsp;&nbsp;&nbsp;&nbsp; 折叠<BR>zC&nbsp;&nbsp;&nbsp; 对所在范围内所有嵌套的折叠点进行折叠<BR>zo&nbsp;&nbsp;&nbsp;&nbsp; 展开折叠<BR>zO&nbsp;&nbsp;&nbsp; 对所在范围内所有嵌套的折叠点展开<BR>[z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到当前打开的折叠的开始处。<BR>]z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到当前打开的折叠的末尾处。<BR>zj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。<BR>zk&nbsp;&nbsp;&nbsp;&nbsp; 向上移动到前一折叠的结束处。关闭的折叠也被计入。<BR>zR&nbsp;&nbsp;&nbsp;&nbsp; 打开所有折叠<BR>:set foldclose=all 自动关闭折叠<BR>:set foldopen=all 自动打开折叠</P>
<P>当使用marker方式时，需要用标计来标识代码的折叠，系统默认是{{{和}}}，最好不要改动之：）<BR>我们可以使用下面的命令来创建和删除折叠：<BR>zf&nbsp;&nbsp;&nbsp;&nbsp; 创建折叠，比如在marker方式下：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zf56G，创建从当前行起到56行的代码折叠；<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10zf或10zf+或zf10↓，创建从当前行起到后10行的代码折叠。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10zf-或zf10↑，创建从当前行起到之前10行的代码折叠。<BR>zd&nbsp;&nbsp;&nbsp;&nbsp; 删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。<BR>zD&nbsp;&nbsp;&nbsp; 循环删除 (Delete) 光标下的折叠，即嵌套删除折叠。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。<BR>zE&nbsp;&nbsp;&nbsp; 除去 (Eliminate) 窗口里“所有”的折叠。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。</P>
<P>&nbsp;</P>
<P><BR>二、注释：<BR>&nbsp;&nbsp;&nbsp;&nbsp; 法1：可以用一些插件。不想用。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 法2：可以使用列选择模式来选中需要编辑的例，这里是用ctrl-v来选中（用上下按键来选中所有的），然后按大I（插入），输入你想插入的，这里显然是//，然后按esc，恩，好了。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 如果要取消注释，就像上面一样，只不过不是按大I（插入），而是按小d（删除）。<BR>&nbsp;&nbsp;&nbsp; (附上 visual 模式说明：<BR>&nbsp;&nbsp;&nbsp; 可视（visual）模式，用于选定文本块；可以在正常模式下输入"v"（小写）来按字符选定，输入"V"（大写）来按行选定，或输入"Ctrl-V"来按方块选定）</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 法3：用 :map 做命令到快捷键的映射，这个参考如下：<BR>&nbsp;&nbsp;&nbsp; vim允许覆盖自身绑定的快捷键。正常模式下的 c 和 cc 组合键，对我的用处不大，因此我使用他们完成注释和去掉注释。<BR>&nbsp;&nbsp;&nbsp; 注释时将可视模式下选定文本的每行开头插入"//"。意味着，要用v键从正常模式切换到可视模式选定文本后，再输入组合键。<BR>:s/^/\/\//g<BR>&nbsp;&nbsp;&nbsp; 去掉注释执行相反过程。<BR>:s/^\/\///g<BR>&nbsp;&nbsp;&nbsp; 键绑定，将以下语句添加到 ~/.vimrc。<BR>:map cc v:s/^/\/\//g<BR>:map cx v:s/^\/\///g<BR>:vmap cc :s/^/\/\//g<BR>:vmap cx :s/^\/\///g<BR>将 cc 映射到命令 v:s/^/\/\//g ，其余依此类推。其中 :vmap 约束键映射只能在可视模式下有效。<BR>更新：<BR>在“评论”中发现了更好的"正则表达式"。<BR>:map cc v:s!^!//!g<BR>:map cx v:s!^\s*//!!g v=<BR>:vmap cc :s!^!//!g<BR>:vmap cx :s!^\s*//!!g v=</P>
<P>&nbsp;</P>
<P>三、鼠标支持：<BR>默认没有开启，可以在~/.vimrc中写入<BR>set mouse=a<BR>来开启。这样，就可以用鼠标滚动等。</P>
<P><BR>四、文件选择及多tab：<BR>如果想一下子打开多个tab，输入vim -p * ，这样就打开多个tab。<BR>现在的多tab支持鼠标切换。<BR>1、输入": tabe ." 表示打开 "."，这里就会在新tab列出文件。然后用鼠标或按键选择，就可以在新的tab打开该文件。如果你用在文件名上按的是t，不是回车，则这个文件列表窗口不会关闭，会在新的tab中打开该文件。<BR>2、输入": tabe%" 则会在新的tab再次打开本文件。<BR>3、想创建新的程序文件吗： ": tabe new filename.cpp"<BR>4、切换tab： normal模式下按 0gt 表示切换到 第 0 个tab。只按 gt，则轮流切换。</P>
<P>使用tab比你使用终端的tab打开多个vim是大有好处的：<BR>a、使得文件间的复制和粘贴能够完成；<BR>b、....</P>
<P><BR>五、文件参照：划分窗口<BR>写程序，要比对同一文件不同部分，甚至不同文件的部分，这时，用tab就不太好，因为影响比对。<BR>这时，就要划分窗口。常用的有<BR>垂直划分： ":vsplit" （简写":vsp")<BR>水平划分： ":split" （简写":sp")</P>
<P>切换窗口用 Ctrl-w w 可以在打开的窗口间切换。<BR>在支持鼠标的情况下，用鼠标切换。</P>
<P>&nbsp;</P>
<P>六、文件备份：<BR>vim支持文件备份，只要设置":set backup"，如果要取消备份支持，则设置<BR>: set nobackup <BR>: set nowritebackup<BR>即可。</P>
<P>实际上，为了安全，还是让vim生产备份文件的好。<BR>但是为了不影响查看，最好把备份文件统一放到一个目录。<BR>可用 ": set backupdir=~/tmp/vim/</P>
<P><BR>七、滚动：<BR>Ctrl-E: 向下滚动一行 <BR>Ctrl-D: 向下滚动指定行 —— 默认是半屏幕，太多了，我用 :set scroll=10 设置为10行<BR>Ctrl-Y: 向上滚动一行<BR>Ctrl-U: 向上滚动指定行 —— 同Ctrl-D<BR>另外，支持鼠标滚动！ <BR></P>]]></description>
</item><item>
<title><![CDATA[希拉里的感人演讲结束词]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=40705</link>
<author>jerry585</author>
<pubDate>2008/10/17 22:44:40</pubDate>
<description><![CDATA[<P>　</P>
<P><STRONG><FONT face=Arial size=3>Now, being human, we are imperfect. That's why we need each other, to catch each other when we falter, to encourage each other when we lose heart.</FONT></STRONG></P>
<P><FONT face=仿宋_GB2312 size=3>作为人类，我们没有人是完美无缺的。这就是为什么我们彼此需要。当跌倒的时候，我们彼此扶持。当灰心的时候，我们互相鼓励。</FONT></P>]]></description>
</item><item>
<title><![CDATA[东归英雄 片头片尾曲下载]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=40654</link>
<author>jerry585</author>
<pubDate>2008/10/16 0:42:17</pubDate>
<description><![CDATA[
<P>我把歌曲放在下面的链接里了，喜欢《东归英雄》的朋友们欢迎光临</P>
<P><A href="http://bbs.breezecn.com/read.php?tid=237484&amp;fpage=2">http://bbs.breezecn.com/read.php?tid=237484&amp;fpage=2</A></P>
<P>每次看完电视剧《东归英雄》听到蒙语版的片尾曲海雁&nbsp; ，总是能够让我感动地热泪盈眶。</P>
<P>歌曲把蒙古音乐的精髓发挥得淋漓尽致，音乐古朴而又悲壮<SPAN style="DISPLAY: none"> </SPAN><BR>听着这首歌，我仿佛来到英雄的东归路上，看见莽莽苍苍的草原，怒潮汹涌的马群。土尔扈的勇士们 怀揣对自由和阳光的渴望，百折不挠 视死如归。渥巴锡可汗带着弯刀，胸膛烙上狼的图腾。他像天空翱翔的雄鹰属于辽阔的草原，如凤凰涅磐般的回归本真。<SPAN style="DISPLAY: none"> </SPAN></P>
<P><SPAN style="DISPLAY: none"></SPAN>在现在物质丰富，生活无忧的时代<SPAN style="DISPLAY: none">&nbsp;</SPAN>&nbsp;<BR>很少能够出现像东归英雄这样精雕细琢的电视剧，它如一首气势磅礴的英雄史诗，悠扬中让人感受到它特有的悲壮与苍凉。<BR>与剧中雄浑浩荡、强悍悲壮的东归英雄一样，《东归》剧组的拍摄也充满坎坷与艰辛。开拍之前编剧赵玉衡因癌症去世，拍摄过程中，导演之一的塞夫也因肺癌离世，阴影笼罩着全剧组，隐约有种为“东归英雄牺牲”的意味。作为塞夫的妻子、本剧导演之一的麦丽丝以及主演马景涛对于逝者的怀念，更让人看到了人性的光辉以及作品的伟大。<SPAN style="DISPLAY: none">&nbsp;</SPAN><BR>总之，东归英雄 唤起了沉睡在人们心中百折不挠的民族精神，凝聚了民族向心力。<SPAN style="DISPLAY: none"> </SPAN><BR>在此，向东归剧组尤其是为东归英雄呕心沥血、燃尽生命的编剧赵玉衡及导演塞夫，以及十七世纪三十年代中牺牲的东归英雄们致以最崇高的敬意！</P>]]></description>
</item><item>
<title><![CDATA[Java 对象列表的排序]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=40653</link>
<author>jerry585</author>
<pubDate>2008/10/16 0:17:57</pubDate>
<description><![CDATA[
<P>java中的列表如ArrayList Vector Collection List都没有提供对列表所包含对象的排序&nbsp;</P>
<P>我们在这里就需要用到java中专门用来对List排序的java.util.Collections </P>
<P>以ArrayList为例: </P>
<P>第一步、我们初始化一个包含多个OBJ对象的ArrayList </P>
<P>private ArrayList<OBJ> myarraylist; //OBJ是自己定义的一个类，arraylist是包含OBJ对象的列表 </P>
<P>myarraylist.add(obj1); </P>
<P>myarraylist.add(obj2); </P>
<P>myarraylist.add(obj3); //obj1,obj2,obj3是实例化的OBJ对象 </P>
<P>第二步、我们将这个列表转化成java.util.Collections可以操作的List类型 </P>
<P>List list=myarraylist; </P>
<P>第三步、设置排序条件,我们需要实现一个查询条件类 </P>
<P>import java.util.Comparator; </P>
<P>public static class MyComparator implements Comparator { </P>
<P>public int compare(Object o1, Object o2) { </P>
<P>OBJ compare1=(OBJ)o1; </P>
<P>OBJ compare2=(OBJ)o2; </P>
<P>return compare1.getID().compareTo(compare2.getID()); </P>
<P>//这里来设置排序的原则（假设OBJ包含一个ID，并可以通过getID()来获取ID） } } </P>
<P>第四步、执行排序 </P>
<P>Comparator comp = new MyComparator(); </P>
<P>java.util.Collections.sort(list,comp); </P>
<P>//现在list已经根据OBJ的ID对OBJ对象列表进行了排序 </P>
<P>myarraylist=(ArrayList<OBJ>) list; //得到排完序的列表</P>]]></description>
</item><item>
<title><![CDATA[mysql服务无法启动]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=40573</link>
<author>jerry585</author>
<pubDate>2008/10/11 16:14:20</pubDate>
<description><![CDATA[<P><U><FONT color=#800080>在安装mysql的时候出现了服务无法启动<BR>应该是mysql的配置文件有问题<BR>至于最好的解决方法我不太清楚<BR>试了网上提供的好多种方法都不行，只有用最笨的重装了<BR>在重装之前一定要将之前安装的mysql的安装目录手动删除</FONT></U><A href="http://blogger.org.cn/blog/user_index.asp"></A></P>]]></description>
</item><item>
<title><![CDATA[很抱歉，tom的共享文件夹不能用了，有需要的给我发邮件]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=30932</link>
<author>jerry585</author>
<pubDate>2008/1/2 10:52:31</pubDate>
<description><![CDATA[很抱歉，tom的共享文件夹不能用了，有需要的给我发邮件<br><br>&nbsp;&nbsp;&nbsp; jerry585@gmail.com<br>]]></description>
</item><item>
<title><![CDATA[<大明宫词>皮影戏<采桑女>]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25765</link>
<author>jerry585</author>
<pubDate>2007/6/25 16:11:36</pubDate>
<description><![CDATA[<P><A></A> 
<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 height=360 width=480 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="12700"><PARAM NAME="_cy" VALUE="9525"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="http://www.ltyz.gx.cn/yuwen/bbs/uploadImages/20035260195761283.swf"><PARAM NAME="Src" VALUE="http://www.ltyz.gx.cn/yuwen/bbs/uploadImages/20035260195761283.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="-1"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="false">
<embed src=http://www.ltyz.gx.cn/yuwen/bbs/uploadImages/20035260195761283.swf pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=480 height=360></embed></OBJECT></P>
<P>
<HR>
</P>
<P>&nbsp;&nbsp;&nbsp; 野花迎风飘摆，好像是在倾诉衷肠；绿草凄凄抖动，如无尽的缠绵依恋；初绿的柳枝轻拂悠悠碧水，搅乱了苦心柔情荡漾。为什么春天每年都如期而至，而我远行的丈夫却年年不见音讯…<BR><BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; …离家去国整整三年，为了梦想中金碧辉煌的长安，为了都市里充满了神奇的历险，为了满足一个男儿宏伟的心愿。现在终于锦衣还乡，又遇上这故里的春天，看这一江春水，看这满溪桃花，看这如黛青山，都没有丝毫改变，也不知我新婚一夜就别离的妻子是否依旧红颜？来的是谁家女子，生得是满面春光，美丽非凡！<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;这位姑娘，请你停下美丽的脚步，你可知自己犯下什么样的错误？<BR><BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;这位将军，明明是你的马蹄踢翻了我的竹篮，你看这宽阔的道路直通蓝天，你却非让这可恶的畜生溅起我满身污点，怎么反倒怪罪是我的错误?<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;你的错误就是美若天仙，你啊娜的身姿让我的手不听使唤，你蓬松的乌发涨满了我的眼帘，看不见道路山川，只是漆黑一片；你明艳的面颊让我胯下的这头畜生倾倒，竟忘记了他的主人是多么威严。<BR><BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;快快走远点吧，你这轻浮的汉子，你可知调戏的是怎样多情的一个女子？她为了只见过一面的丈夫，已经应掷三年，把锦绣青春都抛入无尽的苦等，把少女柔情都交付了夜夜空梦。快快走远点吧，你这邪恶的使臣，当空虚与幽怨已经把她击倒，你就想为堕落再加一把力，把她的贞洁彻底摧毁。你这样做不怕遭到上天的报应…<BR><BR><BR>&nbsp;&nbsp;&nbsp;上天只报应痴愚的蠢人，我已连遭三年的报应。为了有名无实的妻子，为了虚枉的利禄功名。看这满目春光，看这比春光还要柔媚千倍的姑娘……<BR><BR><BR>&nbsp;&nbsp;&nbsp;……想起长安三年的凄风苦雨，恰如在地狱深渊里爬行。看野花缠绕，看野蝶双双追逐，只为了凌虚中那点点转瞬依恋，春光一过，它似就陷入那命定中永远的黑暗。人生怎能逃出同样的宿命。<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;快快住嘴吧，你这大胆的罪人，你虽貌似天神，心却比铁石还要坚硬，双目比天地还要幽深。看鲜花缠绵，我比它们还要柔弱；看野蝶迎风飞舞，我比它们还要纷忙迷乱。看在上天的分上，别再开启你那饱满生动的双唇，哪怕再有一丝你那呼吸间的微风，我也要跌入你的深渊，快快走远吧，别再把我这个可怜的女子纠缠……<BR><BR><BR>&nbsp;&nbsp;&nbsp;看野花缠绵，我比它们还要渴望缠绵；看野蝶迎风飞舞，我的心也同样为你纷忙迷乱。任什么衣锦还乡，任什么荣耀故里，任什么结发夫妻，任什么神明责罚。它们加起来也抵不上你的娇躯轻轻一颤。随我远行吧，离开这满目伤心的地方，它让你我双双经受磨难…</P>
<P>
<HR>
</P>]]></description>
</item><item>
<title><![CDATA[86年的MAC PLUS VS 07年的AMD DualCore 结果！！！]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25646</link>
<author>jerry585</author>
<pubDate>2007/6/21 0:45:17</pubDate>
<description><![CDATA[<FONT color=#ff0000 size=2>纵轴代表花费时间</FONT> 
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/20076210471583.JPG" border=0></P>
<P>&nbsp;</P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200762104728860.JPG" border=0></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200762104736697.JPG" border=0></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200762104742323.JPG" border=0></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200762104748447.JPG" border=0></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200762104756286.JPG" border=0></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/20076210482498.JPG" border=0></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200762104810991.JPG" border=0></P>
<P><FONT size=2>个人觉得这不能怪AMD</FONT></P>
<P><FONT size=2>只能怪微软越做越垃圾，完全不考率效率，不断要求设备升级</FONT></P><A></A>]]></description>
</item><item>
<title><![CDATA[十二生肖哲理（转载）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25644</link>
<author>jerry585</author>
<pubDate>2007/6/20 20:47:33</pubDate>
<description><![CDATA[
<P><FONT size=2>十二生肖两两相对,六道轮回,体现了我们祖先对我们的期望和要求</FONT></P>
<P><FONT size=2>第一组是老鼠和牛.老鼠代表智慧,牛代表勤奋.智慧和勤奋一定要紧紧结合在一起.如果光有智慧,不勤奋,那就变成小聪明;而光是勤奋,不动脑筋,那就变成愚蠢.这两者一定要结合.这是祖先对我们第一组的期望和要求,也是最重要的一组. </FONT></P>
<P><FONT size=2>第二组是老虎和兔子.老虎代表勇猛,兔子代表谨慎.勇猛和谨慎一定要紧紧结合在一起才能作到胆大心细.如果勇猛离开了谨慎,就变成了鲁莽,而没了勇猛,就变成了胆怯.当我们表现出谨慎的时候,千万不要以为中国人没有勇敢的一面. </FONT></P>
<P><FONT size=2>看着大家陷入沉思,我继续说:第三组是龙和蛇,龙代表猛,蛇代表柔韧.所谓刚者易折,太刚了容易折断,但是,如果只有柔的一面就易失去主见,所以,刚柔并济是我们的祖训. </FONT></P>
<P><FONT size=2>接下来是马和羊,马代表勇往直前,羊代表和顺.如果一个人只顾自己直奔目标,不顾及周围环境,必然会和周围不断磕碰,最后不见得能达到目标.但是,一个人光顾及和顺,他可能连方向都没有了.所以,勇往直前的秉性,一定要和和顺紧紧结合在一起,这是祖先对我们的第四组期望. </FONT></P>
<P><FONT size=2>再接下来是猴子和鸡.猴子代表灵活,鸡定时打鸣,代表恒定.灵活和恒定一定要紧紧结合在一起.如果你光灵活,没有恒定,再好的政策也得不到收获.一方面具有稳定性,保持整体和谐和秩序,另一方面有能在变通中前进,这才是最根本的要旨. </FONT></P>
<P><FONT size=2>最后是狗和猪.狗代表忠诚,猪代表随和.如果一个人太忠诚,不懂得随和,就会排斥他人.反过来,一个人太随和,没有忠诚,这个人就失去原则.无论是对一个民族的忠诚,还是对自己理想的忠诚,一定要与随和紧紧结合在一起,这样才容易保持内心深处的平衡. </FONT><A><FONT size=2>　</FONT></A></P>]]></description>
</item><item>
<title><![CDATA[推荐大家一个非常棒的音乐论坛（有非常好听的歌）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25606</link>
<author>jerry585</author>
<pubDate>2007/6/19 14:11:07</pubDate>
<description><![CDATA[
<P><FONT size=2>推荐大家一个非常棒的音乐论坛（有非常好听的歌）</FONT></P>
<P><A href="http://bbs.breezecn.com/?a=jerry585">http://bbs.breezecn.com/?a=jerry585</A></P>
<P><FONT size=2>在忙碌的生活中，停下脚步<BR>静静地聆听美妙的音乐</FONT><BR></P>]]></description>
</item><item>
<title><![CDATA[Installing Minix on Vmware（我已经安上了）（续）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25573</link>
<author>jerry585</author>
<pubDate>2007/6/17 22:10:53</pubDate>
<description><![CDATA[<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> make ping<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG src="http://blogger.org.cn/blog/uploadfile/2007617221218155.JPG">&nbsp;</FONT></o:p></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># make /usr/bin/ping<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> cd /etc<o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> elvis inet.conf<o:p></o:p></B></FONT></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>eth0 <SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>LANCE <SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>0 <SPAN style="mso-tab-count: 1">&nbsp;&nbsp; </SPAN>{ default;};<o:p></o:p></FONT></SPAN></B></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></B></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>To save and quit, first press escape and then”:wq” (which means save and quit)<o:p></o:p></FONT></SPAN></B></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># <B style="mso-bidi-font-weight: normal">halt<o:p></o:p></B></FONT></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></B></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617221249403.JPG" border=0>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>d0p0s0&gt;<B style="mso-bidi-font-weight: normal">servers=inet</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>d0p0s0&gt;<B style="mso-bidi-font-weight: normal">LANCE0=pci<o:p></o:p></B></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>dop0s0&gt;<B style="mso-bidi-font-weight: normal">boot</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>If things go fine, you shall see the screen shown below.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617221316406.JPG" border=0></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>If want to install two nics, just add one more nic in virtual machine, and then login Minix:<o:p></o:p></FONT></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></B></P>
<P><FONT size=3><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'">Note</SPAN></B><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'">: <I style="mso-bidi-font-style: normal">You have to first, Power Off the Minix machine if you want to add Hardware to it (in this case NIC)<o:p></o:p></I></SPAN></FONT></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Simply Right Click on the Machine name (Minix1) and go to <B style="mso-bidi-font-weight: normal">Settings</B>. From there add another <B style="mso-bidi-font-weight: normal">Ethernet Adapter</B> and Select <B style="mso-bidi-font-weight: normal">NAT </B>and say<B style="mso-bidi-font-weight: normal"> Finish<o:p></o:p></B></FONT></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></B></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617221350553.JPG" border=0></FONT></SPAN></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># <B style="mso-bidi-font-weight: normal">elvis /etc/inet.conf<o:p></o:p></B></FONT></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>eth0 LANCE 0 { default;};<o:p></o:p></FONT></SPAN></B></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>eth1 LANCE 1;<o:p></o:p></FONT></SPAN></B></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># <B style="mso-bidi-font-weight: normal">halt</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>d0p0s0&gt;<B style="mso-bidi-font-weight: normal">servers=inet<o:p></o:p></B></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>d0p0s0&gt;<B style="mso-bidi-font-weight: normal">LANCE0=pci<o:p></o:p></B></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>d0p0s0&gt;<B style="mso-bidi-font-weight: normal">LANCE1=pci<o:p></o:p></B></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>dop0s0&gt;<B style="mso-bidi-font-weight: normal">off<o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore"><FONT size=3>1.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>return windows, Open <B style="mso-bidi-font-weight: normal">VM-&gt;Settings editor</B>, select <B style="mso-bidi-font-weight: normal">floppy</B>, unmark “connected at power on”.<o:p></o:p></FONT></SPAN></P>
<P style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore"><FONT size=3>2.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>when power on, just enter ‘<B style="mso-bidi-font-weight: normal">=</B>’, Minix will bootup.<o:p></o:p></FONT></SPAN></P>
<P style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore"><FONT size=3>3.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>if want to create another Minix virtual machine, just follow the first 13 steps, close VWware, using the existing hard disk file, such as “minix1-flat.vmdk”, which should be 200MB big, to overwrite the other disk file, such as “minix2-flat.vmdk”, you will be all set for a new minix2.<o:p></o:p></FONT></SPAN></P>
<P><B><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt">APPENDIX:<o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Using FTP Transfer Data:<o:p></o:p></FONT></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Using ftp client installed in XP, such as leapFTP, to transfer files between Minix and host machine.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Virtual Consoles<o:p></o:p></FONT></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><SPAN style="TEXT-DECORATION: none"><FONT face="Times New Roman">&nbsp;</FONT></SPAN></o:p></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Hold down the <B style="mso-bidi-font-weight: normal">ALT</B> key and press the left or right arrow key, F1, or F2. This switches the console between two login sessions. <o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Screen Dump<o:p></o:p></FONT></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Screen Dump patch is already been installed if you use image file:<BR></FONT><A href="http://web.syr.edu/~mshang/other-flat.zip"><FONT face="Times New Roman">http://web.syr.edu/~mshang/other-flat.zip</FONT></A><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><BR></SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">If you install minix from scratch, download a patch from:<BR></FONT><A href="http://minix1.hampshire.edu/pub/contrib/vmw-p01.tar.Z"><FONT face="Times New Roman">http://minix1.hampshire.edu/pub/contrib/vmw-p01.tar.Z</FONT></A><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoBodyText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face="Times New Roman" size=3>This patch enables Minix guests on VMware to print the contents of the console screen to host's clipboard when F4 key is pressed. </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Show Full Path In Minix Prompt<o:p></o:p></FONT></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><SPAN style="TEXT-DECORATION: none"><FONT face="Times New Roman">&nbsp;</FONT></SPAN></o:p></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">If you use image file: </FONT><A href="http://web.syr.edu/~mshang/other-flat.zip"><FONT face="Times New Roman">http://web.syr.edu/~mshang/other-flat.zip</FONT></A><FONT face="Times New Roman">, just edit /.profile, change hostname to the one you want.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><SPAN style="TEXT-DECORATION: none"><FONT face="Times New Roman">&nbsp;</FONT></SPAN></o:p></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Login Minix, ftp paser.c, var.h to /usr/src/commands/ash overwriting the old ones.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"># cd /usr/src/commands/ash<o:p></o:p></FONT></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"># <B style="mso-bidi-font-weight: normal">make</B><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"># <B style="mso-bidi-font-weight: normal">cp sh /bin/.</B><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"># <B style="mso-bidi-font-weight: normal">cd /</B><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"># <B style="mso-bidi-font-weight: normal">elvis .profile<o:p></o:p></B></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">add one line as:<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">PS1=”Minix6[\u \w]# ”<o:p></o:p></FONT></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman"># <B style="mso-bidi-font-weight: normal">reboot</B><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">after login as root, if you are in /usr/src, you will find the Minix prompt becomes:<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Minix6[root /usr/src/]# <o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Here Minix6 is hostname, root is current login user name, /usr/src is current working directory.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt"><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT face="Times New Roman">Configure Minix As A Router<o:p></o:p></FONT></SPAN></U></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><o:p><FONT face="Times New Roman">&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: #550055; FONT-FAMILY: Arial">Minix1 with 2 NICs, NIC1: </SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><A href="http://192.168.1.1/" target=_blank>192.168.1.1</A><SPAN style="COLOR: #550055">; NIC2: </SPAN><A href="http://192.168.2.1/" target=_blank>192.168.2.1</A><BR><SPAN style="COLOR: #550055">Minix2 with 1 NIC, NIC3: </SPAN><A href="http://192.168.1.2/" target=_blank>192.168.1.2</A><SPAN style="COLOR: #550055">;<BR>Minix3 with 1 NIC, NIC4: </SPAN><A href="http://192.168.2.2/" target=_blank>192.168.2.2</A><SPAN style="COLOR: #550055">.<BR><BR>Minix1 (Configured as Router):<BR></SPAN>#add_route -I /dev/ip0 -i -g <A href="http://0.0.0.0/" target=_blank>0.0.0.0</A> -d <A href="http://192.168.1.0/" target=_blank>192.168.1.0</A> -m 1<BR>#add_route -I /dev/ip1 -i -g <A href="http://0.0.0.0/" target=_blank>0.0.0.0</A> -d <A href="http://192.168.2.0/" target=_blank>192.168.2.0</A> -m 1<BR>#add_route -I /dev/ip0 -i -g <A href="http://192.168.1.1/" target=_blank>192.168.1.1</A> -d <A href="http://0.0.0.0/" target=_blank>0.0.0.0</A> -m 1<BR>#add_route -I /dev/ip1 -i -g <A href="http://192.168.2.1/" target=_blank>192.168.2.1</A> -d <A href="http://0.0.0.0/" target=_blank>0.0.0.0</A> -m 1<BR>#add_route -I /dev/ip0 -g <A href="http://192.168.1.1/" target=_blank>192.168.1.1</A><BR><SPAN style="COLOR: #550055">#add_route -I /dev/ip1 -g </SPAN><A href="http://192.168.2.1/" target=_blank>192.168.2.1</A><BR>#irdpd -b &amp;<BR>#<BR># pr_routes -I /dev/ip0<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR>&nbsp; &nbsp;0 &nbsp;ip0 &nbsp; &nbsp; &nbsp; &nbsp; <A href="http://0.0.0.0/0" target=_blank>0.0.0.0/0</A> &nbsp; &nbsp;<A href="http://192.168.1.1/" target=_blank>192.168.1.1</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR># pr_routes -I /dev/ip1<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR>&nbsp; &nbsp;1 &nbsp;ip1 &nbsp; &nbsp; &nbsp; &nbsp; <A href="http://0.0.0.0/0" target=_blank>0.0.0.0/0</A> &nbsp; &nbsp;<A href="http://192.168.2.1/" target=_blank>192.168.2.1</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR># pr_routes -I /dev/ip0 -i<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR>&nbsp; &nbsp;0 &nbsp;ip0 &nbsp; &nbsp;<A href="http://192.168.1.0/24" target=_blank>192.168.1.0/24</A> &nbsp; &nbsp; &nbsp; &nbsp;<A href="http://0.0.0.0/" target=_blank>0.0.0.0</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR>&nbsp; &nbsp;2 &nbsp;ip0 &nbsp; &nbsp; &nbsp; &nbsp; <A href="http://0.0.0.0/0" target=_blank>0.0.0.0/0</A> &nbsp; &nbsp;<A href="http://192.168.1.1/" target=_blank>192.168.1.1</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR># pr_routes -I /dev/ip1 -i<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR>&nbsp; &nbsp;1 &nbsp;ip1 &nbsp; <A href="http://192.168.2.0/24" target=_blank>192.168.2.0/24</A> &nbsp; &nbsp; &nbsp; &nbsp; <A href="http://0.0.0.0/" target=_blank>0.0.0.0</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR>&nbsp; &nbsp;3 &nbsp;ip1 &nbsp; &nbsp; &nbsp; &nbsp; <A href="http://0.0.0.0/0" target=_blank>0.0.0.0/0</A> &nbsp;<A href="http://192.168.2.1/" target=_blank>192.168.2.1</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR>#<BR><BR><SPAN style="COLOR: #550055">Minix2:<BR>#add_route -I /dev/ip0 -g </SPAN><A href="http://192.168.1.1/" target=_blank>192.168.1.1</A><SPAN style="COLOR: #550055"> -d </SPAN><A href="http://192.168.2.0/" target=_blank>192.168.2.0</A><SPAN style="COLOR: #550055"> -m 2<BR></SPAN>#<BR># pr_routes -I /dev/ip0<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR>&nbsp; &nbsp;1 &nbsp;ip1 &nbsp; &nbsp; &nbsp;<A href="http://192.168.2.0/24" target=_blank>192.168.2.0/24</A> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<A href="http://192.168.2.1/" target=_blank>192.168.2.1</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR># pr_routes -I /dev/ip0 -i<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR><BR><SPAN style="COLOR: #550055">Minix3:<BR>#add_route -I /dev/ip0 -g </SPAN><A href="http://192.168.2.1/" target=_blank>192.168.2.1</A><SPAN style="COLOR: #550055"> -d </SPAN><A href="http://192.168.1.0/" target=_blank>192.168.1.0</A><SPAN style="COLOR: #550055"> -m 2<BR></SPAN>#<BR># pr_routes -I /dev/ip0<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR>&nbsp; &nbsp;1 &nbsp;ip1 &nbsp; &nbsp; &nbsp;<A href="http://192.168.1.0/24" target=_blank>192.168.1.0/24</A> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<A href="http://192.168.1.1/" target=_blank>192.168.1.1</A> &nbsp; &nbsp;1 &nbsp; &nbsp; 0 &nbsp; &nbsp;0 static<BR># pr_routes -I /dev/ip0 -i<BR>ent # &nbsp; if &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dest &nbsp; &nbsp; &nbsp; &nbsp; gateway dist &nbsp;pref &nbsp;mtu flags<BR><BR>then Minix2 could ping or telnet Minix3 by using Minix1 as a router. Some mistakes in the manual of add_routes, please check add_route.c to find the correct usage of it.<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"></SPAN></P>
<P>&nbsp;</P>]]></description>
</item><item>
<title><![CDATA[Installing Minix on Vmware（我已经安上了）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25572</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:47:58</pubDate>
<description><![CDATA[<A></A>
<P style="TEXT-ALIGN: center" align=center><B><SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt">Instruction for Installing <A href="http://www.minix.org/">Minix</A> on <A href="http://www.vmware.com/">Vmware</A> (For Windows)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></B></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Prerequisites<o:p></o:p></FONT></SPAN></B></P>
<P><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Hardware Requirements<o:p></o:p></FONT></SPAN></U></B></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>1) Systems having at least <B style="mso-bidi-font-weight: normal">512 MB of Memory</B> (Minix can run on machines having memory lesser than 512MB, however to avoid problems later on since we have to install multiple Minix, it is recommended to use a machine with minimum 512 MB of RAM and allocate 256MB to Vmware machines. )<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>2) Each minix requires 16MB Mem and 200MB hard-disk;<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>3) Have around <B style="mso-bidi-font-weight: normal">0.8GB free hard-disk</B> space (recommended for 4 minix)<o:p></o:p></FONT></SPAN></P>
<P style="MARGIN-TOP: 6pt"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Software Requirements<o:p></o:p></FONT></SPAN></U></B></P>
<P style="MARGIN-TOP: 6pt; TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>1) <B style="mso-bidi-font-weight: normal">Vmware 4.5.2.</B><BR>This shall be provided by Instructor. Kindly ask him for a legal copy. Since this is an Institutional course, <SPAN style="COLOR: red">using pirated copy is illegal</SPAN>. <o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>2) <B style="mso-bidi-font-weight: normal">Minix</B> <B style="mso-bidi-font-weight: normal">Operating System</B><BR>For the purpose of Installing Minix on Vmware, we shall use Floppy Images of the installation files. Please download from </FONT><A href="http://web.syr.edu/~mshang/MinixVirtualFloppy.zip"><FONT size=3>here</FONT></A><FONT size=3> and extract to your host machine by </FONT><A href="http://www.download.com/3120-20_4-0.html?qt=winrar&amp;tg=dl-20"><FONT size=3>Winrar</FONT></A><FONT size=3>. Then you have 11 files: root_usr.flp, sys_1.flp, sys_2.flp, usr_1.flp, usr_2.flp, usr_3.flp, cmd_1.flp, cmd_2.flp, cmd_3.flp, net.flp, amd_new.flp<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>With Vmware and Minix Floppy Images, we are all set to install Minix on Vmware.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>For Installation of Vmware on Windows Machine, click on the link below<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><A href="http://web.syr.edu/~mshang/InstallVMware.doc"><FONT size=3>Installation of Vmware</FONT></A><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Installation Suggestions<o:p></o:p></FONT></SPAN></U></B></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>You could follow steps 1-12 in next section to setup a minix virtual machine. To save time, I suggest you download minix image file from:<BR></FONT><A href="http://web.syr.edu/~mshang/other-flat.zip"><FONT size=3>http://web.syr.edu/~mshang/other-flat.zip</FONT></A></SPAN><SPAN lang=EN-US><BR></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>unzip it and overwrite other-flat.vmdk in your virtual machine directory. Set in Vmware: VM-&gt;settings-&gt;floppy 1-&gt;unmark “connect at power on”, and then you are all set in minix installation. Click “start virtual machine” to run minix. <o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Go to appendix of this document, see some funny functionalities.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>If you would prefer to install minix from scratch, follow steps in next section.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><B style="mso-bidi-font-weight: normal"><U><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Installation of Minix on Vmware From Scratch<o:p></o:p></FONT></SPAN></U></B></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>1) Power up Vmware by either clicking on the shortcut on the desktop or either selecting Vmware WorkStation from Programs--&gt;Accessories--&gt;Vmware--&gt;Vmware Workstation.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>2) After starting the Vmware WorkStation, click on New Virtual Machine and click <B style="mso-bidi-font-weight: normal">Next</B> on the following installation Wizard.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>3) Select “<B style="mso-bidi-font-weight: normal">Custom</B>”<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>4) Name the Virtual Machine to be created as <B style="mso-bidi-font-weight: normal">Minix1</B> (or any other self-describing name) and give the path to save the Virtual Machine such as <B style="mso-bidi-font-weight: normal">H:\My Virtual Machine\Minix<o:p></o:p></B></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>5) Hit the Next Button and then allocate <B style="mso-bidi-font-weight: normal">16MB RAM</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>6) Hit the Next Button and Select <B style="mso-bidi-font-weight: normal">Network Address Translation (NAT)</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US></SPAN></P>
<P><SPAN lang=EN-US><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>7) Select <B style="mso-bidi-font-weight: normal">BusLogic </B>(its default) and press <B style="mso-bidi-font-weight: normal">Next<o:p></o:p></B></FONT></SPAN></P>
<P><SPAN lang=EN-US></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>8) Check <B style="mso-bidi-font-weight: normal">Create a New Virtual Disk a</B>nd hit <B style="mso-bidi-font-weight: normal">Next<o:p></o:p></B></FONT></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US><o:p></o:p></SPAN></B></P>
<P><SPAN lang=EN-US><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>9) Select Disk Type as <B style="mso-bidi-font-weight: normal">IDE</B> (its Default)<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>10) Allocate <B style="mso-bidi-font-weight: normal">0.2</B>GB (i.e. 200 MB) of disk space and check mark <B style="mso-bidi-font-weight: normal">Allocate All Disk Space now.<o:p></o:p></B></FONT></SPAN></P>
<P><SPAN lang=EN-US></SPAN></P>
<P><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></B></P>
<P><FONT size=3><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'">Note:</SPAN></B><SPAN lang=EN-US> </SPAN><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'">A warning for Pre-Allocated Disk occurs, click </SPAN></I><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'">Yes</SPAN></B><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"> and proceed.<o:p></o:p></SPAN></I></FONT></P>
<P style="MARGIN-LEFT: 18pt"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>11) Specify the Disk File name as <B style="mso-bidi-font-weight: normal">Minix1.vmdk</B> (by default it’s Other.vmdk) and hit <B style="mso-bidi-font-weight: normal">Finish</B><o:p></o:p></FONT></SPAN></P>
<P style="MARGIN-LEFT: 18pt"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><FONT size=3><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'">Note:</SPAN></B><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"> <B style="mso-bidi-font-weight: normal">A Disk creating step shall take place for a couple of seconds, let it happen<o:p></o:p></B></SPAN></I></FONT></P>
<P><B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"></SPAN></I></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></B></P>
<P><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></I></P>
<P><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></I></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Once the Disk Creating Process is over, the following screen is displayed.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>1<SPAN lang=EN-US style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></SPAN><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617215711911.JPG" border=0>2) Click on the Edit button and <B style="mso-bidi-font-weight: normal">remove Audio, USB controller, CDRom</B>. This step isn’t necessary but since Minix cant uses them anyways.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617215810574.JPG" border=0>&nbsp;</FONT></o:p></SPAN></I></P>
<P><FONT size=3><B><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'">Note: Now you have a 200M file with extension name (.vmdk), such as minix-flat.vmdk. Download image file from website </SPAN></B><SPAN lang=EN-US style="COLOR: blue; FONT-FAMILY: 'Times New Roman'"><A href="http://web.syr.edu/~mshang/other-flat.zip">http://web.syr.edu/~mshang/other-flat.zip</A></SPAN><B><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'">, get file other-flat.vmdk to overwrite your file with the name minix-flat.vmdk, then your minix machine is done. All drivers and tools for final project are already there. If you prefer to installing it from the scrach, go to next step.<o:p></o:p></SPAN></B></FONT></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>13) After that, click on <B style="mso-bidi-font-weight: normal">Floppy 1</B> and from the right hand options, click on <B style="mso-bidi-font-weight: normal">Use Floppy Image</B> and <B style="mso-bidi-font-weight: normal">Browse</B> to find, folder <B style="mso-bidi-font-weight: normal">Floppy 1</B> and select file <B style="mso-bidi-font-weight: normal">root_usr.flp</B> and say <B style="mso-bidi-font-weight: normal">OK. ( Note: </B><I><SPAN style="mso-bidi-font-weight: bold">if there is </SPAN><B style="mso-bidi-font-weight: normal">no Floppy</B><SPAN style="mso-bidi-font-weight: bold"> in device list, click “</SPAN><B style="mso-bidi-font-weight: normal">Add</B><SPAN style="mso-bidi-font-weight: bold">” to add one; If need </SPAN><B style="mso-bidi-font-weight: normal">two NICs,</B><SPAN style="mso-bidi-font-weight: bold"> do the same thing to add one here</SPAN></I><B style="mso-bidi-font-weight: normal">)</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617215859271.JPG" border=0>14) Now Click on <B>Start</B> the virtual machine and wait till you get a black screen shown below.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/2007617215942276.JPG" border=0>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>15) Once you get the above screen, <B style="mso-bidi-font-weight: normal">click on the screen</B> once and then press “<B style="mso-bidi-font-weight: normal">=</B>” sign.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>Note: By Default, Mouse is Windows Hardware, so once you click on the black screen, the mouse freezes and now you can only use your keyboard. To free the mouse again press “<B style="mso-bidi-font-weight: normal">Ctrl + Alt</B>”<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>16) After you press, “=”, the following screen appears.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722013860.JPG" border=0>17) At the cursor type <B style="mso-bidi-font-weight: normal">fd0p2</B> i.e. mount as /dev/fd0p2 and <B style="mso-bidi-font-weight: normal">hit Enter</B>. The screen shown below shall appear after that prompting to input the <B style="mso-bidi-font-weight: normal">login</B><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722041274.JPG" border=0>&nbsp;</FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>18) At the login prompt type: <B style="mso-bidi-font-weight: normal">root </B>and hit enter. You see a “<B style="mso-bidi-font-weight: normal">#</B>” prompt, type <B style="mso-bidi-font-weight: normal">setup</B> and hit Enter.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/20076172215907.JPG" border=0>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>19) After hitting Enter, the following screen appears. Hit Enter again to move on to next screen<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><SPAN style="mso-spacerun: yes"><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722142233.JPG" border=0>&nbsp;</SPAN><o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>20) Again, hit <B style="mso-bidi-font-weight: normal">Enter</B> to move on the next screen.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722211104.JPG" border=0>21) Again, hit <B style="mso-bidi-font-weight: normal">Enter</B> to move to another screen<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722239673.JPG" border=0>&nbsp;</FONT></o:p></SPAN></I></P>
<P><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></I></P>
<P><I style="mso-bidi-font-style: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></I></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>22) You shall then encounter a screen (after about 4 Enters) for configuring the partition. The screen is shows below.</FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><o:p><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722322859.JPG" border=0></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>23) Press “<B style="mso-bidi-font-weight: normal">r</B>” to get the present partition<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;<IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722350976.JPG" border=0></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'"><FONT size=3><SPAN style="mso-spacerun: yes"></SPAN><o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>24) Move the cursor to line <B style="mso-bidi-font-weight: normal">0 p0 00 none</B>… and then in the last column type <B style="mso-bidi-font-weight: normal">200000 (if you allocate 0.2GB for Minix, here should be 20000) </B>and enter “<B style="mso-bidi-font-weight: normal">w</B>” to save the partition. Then enter “<B style="mso-bidi-font-weight: normal">y</B>” to save it when prompted.</FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><o:p><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722422836.JPG" border=0></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>25) Then press “<B style="mso-bidi-font-weight: normal">q</B>” to quit. When prompted type “<B style="mso-bidi-font-weight: normal">c0d0p0</B>”after /dev/ i.e. <B style="mso-bidi-font-weight: normal">/dev/c0d0p0 </B>and press<B style="mso-bidi-font-weight: normal"> Enter </B>till you get the screen shown below<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722446709.JPG" border=0>&nbsp;</FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>26) Type <B style="mso-bidi-font-weight: normal">setup /usr</B> at the “#” prompt and hit Enter until prompted for “<B style="mso-bidi-font-weight: normal">input volume 1</B>”<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722536579.JPG" border=0>&nbsp;</FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>27) Press Ctrl+ Alt to come out of the Minix screen and change the floppy image to point to <B style="mso-bidi-font-weight: normal">sys_1.flp </B><SPAN style="mso-bidi-font-weight: bold">under XP and press</SPAN><B style="mso-bidi-font-weight: normal"> Enter. </B>After a few setup, you shall be prompted for inserting volume 2<BR>(VM-&gt;Removable Devices-&gt;Floppy-&gt;Edit-&gt;Browse-&gt;Floppy1-&gt;sys_1.flp)<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/20076172265115.JPG" border=0></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>28) Follow Step 27 for <B style="mso-bidi-font-weight: normal">sys_2.flp.</B> After floppy image points to <B>sys_2.flp </B>(VM-&gt;Removable Devices-&gt;Floppy-&gt;Edit-&gt;Browse-&gt;Floppy1-&gt;sys_2.flp), press <B>Enter </B>to continue. After finish installing sys_2.flp, type <B style="mso-bidi-font-weight: normal">setup /usr</B> at the # prompt and hit <B>Enter.<o:p></o:p></B></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><BR><FONT size=3>29) You shall see screen similar to the one shown in Step 26.Repeat Step 27 but change the floppy image to point to <B style="mso-bidi-font-weight: normal">usr_1.flp</B> and press Enter. After a few setup, you shall be prompted for inserting volume 2. Deal in the same manner and make the image point to <B style="mso-bidi-font-weight: normal">usr_2.flp</B>. Then you shall be prompted for Volume 3, make the image point to <B style="mso-bidi-font-weight: normal">usr_3.flp</B> and hit Enter. <BR>(VM-&gt;Removable devices-&gt;Floppy-&gt;Edit-&gt;Browse-&gt;Floppy1-&gt;usr_1.flp/<BR>usr_2.flp/usr_3.flp)<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>30) Repeat Step 26 and Step 27 but make the floppy image point to <B style="mso-bidi-font-weight: normal">cmd_1.flp. </B>Follow step 27 but make the floppy image point to<B style="mso-bidi-font-weight: normal"> cmd_2 </B>and then to floppy image<B style="mso-bidi-font-weight: normal"> cmd_3.flp </B>and hit Enter.<o:p></o:p></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>(VM-&gt;Removable Devices-&gt;Floppy-&gt;Edit-&gt;Browse-&gt;Floppy1-&gt;cmd_1.flp/ cmd_2.flp /cmd_3.flp)<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>31) On this “#” prompt type <B style="mso-bidi-font-weight: normal">setup </B>/ (<B>Note: </B><I>this time its <B>not setup /usr</B></I>).<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>32) After that make the Floppy image point to </FONT><FONT size=3><B style="mso-bidi-font-weight: normal">net.flp.<BR>(</B>VM-&gt;Removable Devices-&gt;Floppy-&gt;Edit-&gt;Browse-&gt;Floppy2-&gt;net.flp).<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt; TEXT-ALIGN: justify; mso-char-indent-count: -1.5"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>33) On the hash prompt type<BR># halt<BR>fd0&gt; boot c0d0p0<BR>login Minix as root<BR># cd /usr/src/kernel<BR># make<BR># cd /usr/src/tools<BR># make<BR># make hdboot<BR># halt<BR>d0p0s0&gt; boot c0d0p0<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"><o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 0.05pt; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>After the above steps have been implemented successfully, we get a screen as shown below<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt; TEXT-ALIGN: justify; mso-char-indent-count: -1.5"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><BR><FONT size=3><B style="mso-bidi-font-weight: normal">So far we have finished instillation of Minix, next to add Ethernet driver</B>.<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt; TEXT-ALIGN: justify; mso-char-indent-count: -1.5"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;<IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722732377.JPG" border=0></FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></B></P>
<P style="TEXT-JUSTIFY: inter-ideograph; TEXT-ALIGN: justify"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><B style="mso-bidi-font-weight: normal"><U>Installation of Ethernet Driver for Minix.</U><SPAN style="COLOR: red"><o:p></o:p></SPAN></B></FONT></SPAN></P>
<P><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>1) After restarting the machine, follow the steps given below<o:p></o:p></FONT></SPAN></P>
<P style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 18pt; TEXT-INDENT: -18pt; TEXT-ALIGN: justify; tab-stops: list 18.0pt; mso-list: l1 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore"><FONT size=3>1.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>begin to install new nic driver: enter "<B style="mso-bidi-font-weight: normal">Ctrl + Alt</B>" to return windows, Open VM-&gt;Settings-&gt;Floppy 1, use floppy image and point it to the virtual boot floppy file <B style="mso-bidi-font-weight: normal">'amd_new.flp'</B>.<o:p></o:p></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># <B style="mso-bidi-font-weight: normal">cd /usr/tmp<o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># vol /dev/fd0 | tar xvf -<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># cd 204ether<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># cp inc_Minix/* /usr/include/minix/. (Note there is a space between /* and /usr)<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># cp src_cmd_sim/* /usr/src/commands/simple/.<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># cp src_inet/* /usr/src/inet/.<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># cp src_kernel/* /usr/src/kernel/.<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># cd /usr/src/kernel<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3># make<o:p></o:p></FONT></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;<IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722836854.JPG" border=0></FONT></o:p></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> cd /usr/src/inet<o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> make install<o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;<IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722919264.JPG" border=0></FONT></o:p></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> cd /usr/src/tools<SPAN style="COLOR: red"><o:p></o:p></SPAN></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> make hdboot<o:p></o:p></B></FONT></SPAN></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: 'Times New Roman'"><o:p><FONT size=3><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000" src="http://blogger.org.cn/blog/uploadfile/200761722102575.JPG" border=0>&nbsp;</FONT></o:p></SPAN></B></P>
<P style="MARGIN-LEFT: 10.5pt; LINE-HEIGHT: 10pt; mso-para-margin-left: 1.0gd; mso-line-height-rule: exactly"><SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"><FONT size=3>#<B style="mso-bidi-font-weight: normal"> cd /usr/src/commands/simple<o:p></o:p></B></FONT></SPAN></P>]]></description>
</item><item>
<title><![CDATA[jfreechart  demo源码下载！！！]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25571</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:38:19</pubDate>
<description><![CDATA[
<P><FONT size=2>一个一个介绍好辛苦啊</FONT></P>
<P><FONT size=2>要jfreechart1.0.0.0的demo源码请给我发邮件</FONT></P>
<P><FONT size=2>大家可以自己去研究</FONT></P>
<P style="COLOR: rgb(255,0,0)"><FONT size=2><A href="mailto:jerry585@gmail.com">jerry585@gmail.com</A></FONT></P>]]></description>
</item><item>
<title><![CDATA[Item Lable的设置]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25570</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:32:09</pubDate>
<description><![CDATA[<A><STRONG><EM><U>Item Lable<BR></U></EM></STRONG>&nbsp;&nbsp;<FONT size=2> 这里以柱状图为例说明，具体来说就是在每个柱状上显示它的数据，具体有下面内容：<BR>&nbsp;&nbsp; A、使 Item Lable 可见<BR>&nbsp;&nbsp; B、调整 Item Lable 的颜色、字体等<BR>&nbsp;&nbsp; C、调整 Item Lable 的位置<BR>&nbsp;&nbsp; D、定制 Item Lable 的内容<BR>&nbsp;&nbsp; 1、分配一个 Lable Generator 给 renderer<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GategoryLableGenerator generator =new StandardGategoryLableGenerator(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "{2}", new DecimalFormat("0.00")&nbsp;&nbsp;&nbsp; //调整显示的数字和字符格式<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setLableGenerator(generator);<BR>&nbsp;&nbsp; 2、使 Item Lable 可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setItemLableVisible(true);<BR>&nbsp;&nbsp; 3、调整 Item Lable 的颜色、字体等<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setItemLablePaint(Color.red);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setItemLableFont(new Font("SansSerif",Font.PLAIN,10));<BR>&nbsp;&nbsp; 4、调整 Item Lable 的位置<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里涉及到一个新的对象 ItemLablePosition , ItemLablePosition的构造函数有两个或四个参数<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ItemLabelPosition(ItemLabelAnchor itemLabelAnchor,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.jfree.ui.TextAnchor textAnchor,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.jfree.ui.TextAnchor rotationAnchor,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double angle)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; itemLabelAnchor - Item Lable 的位置 （最重要的！！）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textAnchor - Item Lable里包含的正文相对于Item Lable 的位置<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rotationAnchor - Item Lable里包含的正文旋转的位置<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; angle - 旋转的角度<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ItemLabelPosition itemlabelposition = new ItemLabelPosition(ItemLabelAnchor.INSIDE12,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextAnchor.CENTER_RIGHT,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextAnchor.CENTER_RIGHT,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -1.57D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setPositiveItemLabelPosition(itemlabelposition);</FONT></A>]]></description>
</item><item>
<title><![CDATA[jfreechart时间序列图产生流程]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25569</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:30:40</pubDate>
<description><![CDATA[<STRONG><EM><U>时间序列图</U></EM><BR></STRONG>&nbsp;&nbsp;&nbsp; <FONT size=2>时间序列图和折线图很相似，不同的是它在 domain轴的数据是时间而不是数字。 时间序列图的dataset 是<BR>&nbsp;&nbsp;&nbsp; XYDataset 接口，具体实现类是TimeSeriesCollection ，和上面类似，有TimeSeries 对象，它被添加入<BR>&nbsp;&nbsp;&nbsp; TimeSeriesCollection 。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp; 1、创建一个数据源（dataset）：<BR>&nbsp;&nbsp;&nbsp; private static XYDataset createDataset()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSeries timeseries = new TimeSeries("L&amp;G European Index Trust",Month.class);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(2, 2001), 181.8D);//这里用的是Month.class，同样还有Day.class Year.class 等等<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(3, 2001), 167.3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(4, 2001), 153.8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(5, 2001), 167.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(6, 2001), 158.8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(7, 2001), 148.3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(8, 2001), 153.9D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(9, 2001), 142.7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(10, 2001), 123.2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(11, 2001), 131.8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(12, 2001), 139.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(1, 2002), 142.9D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(2, 2002), 138.7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(3, 2002), 137.3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(4, 2002), 143.9D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(5, 2002), 139.8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(6, 2002), 137D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries.add(new Month(7, 2002), 132.8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSeries timeseries1 = new TimeSeries("L&amp;G UK Index Trust",Month.class);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(2, 2001), 129.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(3, 2001), 123.2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(4, 2001), 117.2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(5, 2001), 124.1D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(6, 2001), 122.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(7, 2001), 119.2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(8, 2001), 116.5D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(9, 2001), 112.7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(10, 2001), 101.5D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(11, 2001), 106.1D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(12, 2001), 110.3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(1, 2002), 111.7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(2, 2002), 111D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(3, 2002), 109.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(4, 2002), 113.2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(5, 2002), 111.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(6, 2002), 108.8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseries1.add(new Month(7, 2002), 101.6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseriescollection.addSeries(timeseries);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseriescollection.addSeries(timeseries1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseriescollection.setDomainIsPointsInTime(true); //domain轴上的刻度点代表的是时间点而不是时间段<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return timeseriescollection;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 2、由ChartFactory&nbsp; 产生 JFreeChart 对象<BR>&nbsp;&nbsp;&nbsp; private static JFreeChart createChart(XYDataset xydataset)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Legal &amp; General Unit Trust Prices",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Date",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Price Per Unit",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xydataset,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jfreechart.setBackgroundPaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYPlot xyplot = (XYPlot)jfreechart.getPlot(); //获得 plot : XYPlot!!<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setBackgroundPaint(Color.lightGray);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setDomainGridlinePaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setRangeGridlinePaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setDomainCrosshairVisible(true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setRangeCrosshairVisible(true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.jfree.chart.renderer.xy.XYItemRenderer xyitemrenderer = xyplot.getRenderer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(xyitemrenderer instanceof XYLineAndShapeRenderer)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)xyitemrenderer;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setDefaultShapesVisible(true); //数据点可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setDefaultShapesFilled(true);&nbsp; //数据点是实心点<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateAxis dateaxis = (DateAxis)xyplot.getDomainAxis(); //对domain 轴上日期显示格式定义<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dateaxis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return jfreechart;<BR>&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一些重要的方法：<BR>&nbsp;&nbsp;&nbsp;&nbsp; A、增加标记线：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.addRangeMarker(new ValueMarker(550D)); //数值轴<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quarter quarter = new Quarter(2, 2002);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.addDomainMarker(new ValueMarker(quarter.getMiddleMillisecond()));&nbsp; //时间轴<BR>&nbsp;&nbsp;&nbsp;&nbsp; B、数据点的调整<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)xyplot.getRenderer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setDefaultShapesVisible(true);&nbsp; //数据点可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setSeriesFillPaint(0, Color.red);&nbsp; //数据点填充为红色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setSeriesFillPaint(1, Color.white);&nbsp; //数据点填充为白色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setUseFillPaint(true);&nbsp;&nbsp;&nbsp; //应用<BR>&nbsp;&nbsp;&nbsp;&nbsp; C、平均值曲线<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个曲线有什么用呢？很简单的例子，这里有一个以半年每天为单位的数据绘制的曲线，我们想看看以月为单位数据<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 的变化，这时就可以用到它了。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSeries timeseries = createEURTimeSeries();&nbsp; //就是以半年每天为单位的数据<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSeries timeseries1 = MovingAverage.createMovingAverage(timeseries,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "30 day moving average",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30, //30天为一个周期<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30); //最开始的30天跳过<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseriescollection.addSeries(timeseries);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeseriescollection.addSeries(timeseries1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return timeseriescollection;</FONT><A></A>]]></description>
</item><item>
<title><![CDATA[jfreechart折线图产生流程]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25568</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:29:30</pubDate>
<description><![CDATA[<STRONG><EM><U>折线图</U></EM></STRONG><BR><FONT size=2>&nbsp;&nbsp; 折线图的dataset 两种CatagoryDataset接口(具体实现类是DefaultCategoryDataset),XYDataset 接口<BR>&nbsp;&nbsp; 1、CatagoryDataset接口：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp; A、创建一个数据源（dataset）：<BR>&nbsp;&nbsp;&nbsp; private static CategoryDataset createDataset()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String series1 = "First";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String series2 = "Second";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String series3 = "Third";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type1 = "Type 1";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type2 = "Type 2";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type3 = "Type 3";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type4 = "Type 4";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type5 = "Type 5";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type6 = "Type 6";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type7 = "Type 7";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String type8 = "Type 8";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(1.0D, series1, type1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series1, type2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series1, type3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(5D, series1, type4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(5D, series1, type5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(7D, series1, type6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(7D, series1, type7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(8D, series1, type8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(5D, series2, type1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(7D, series2, type2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(6D, series2, type3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(8D, series2, type4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series2, type5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series2, type6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(2D, series2, type7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(1.0D, series2, type8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series3, type1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series3, type2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(2D, series3, type3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series3, type4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(6D, series3, type5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series3, type6);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series3, type7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series3, type8);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return defaultcategorydataset;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; B、由ChartFactory&nbsp; 产生 JFreeChart 对象&nbsp;&nbsp;&nbsp;&nbsp; (与上面重复的部分就不再注释）<BR>&nbsp;&nbsp;&nbsp; private static JFreeChart createChart(CategoryDataset categorydataset)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFreeChart jfreechart = ChartFactory.createLineChart("Line Chart Demo 1",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Type",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Value",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categorydataset,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PlotOrientation.VERTICAL,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jfreechart.setBackgroundPaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.setBackgroundPaint(Color.lightGray);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.setRangeGridlinePaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numberaxis.setAutoRangeIncludesZero(true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //获得renderer 注意这里是下嗍造型到lineandshaperenderer！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer)categoryplot.getRenderer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lineandshaperenderer.setShapesVisible(true); //series 点（即数据点）可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lineandshaperenderer.setSeriesStroke(0, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10F, 6F<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }, 0.0F)); //定义series为"First"的（即series1）点之间的连线 ，这里是虚线，默认是直线<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lineandshaperenderer.setSeriesStroke(1, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6F, 6F<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }, 0.0F)); //定义series为"Second"的（即series2）点之间的连线<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lineandshaperenderer.setSeriesStroke(2, new BasicStroke(2.0F, 1, 1, 1.0F, new float[] {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.0F, 6F<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }, 0.0F)); //定义series为"Third"的（即series3）点之间的连线<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return jfreechart;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一些重要的方法：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lineandshaperenderer.setLineVisible(true)&nbsp; //series 点（即数据点）间有连线可见<BR>&nbsp;&nbsp; 2、XYDataset 接口：<BR>&nbsp;&nbsp; A、创建一个数据源（dataset）：<BR>&nbsp;&nbsp;&nbsp; private static XYDataset createDataset()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYSeries xyseries = new XYSeries("First"); //先产生XYSeries 对象<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(1.0D, 1.0D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(2D, 4D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(3D, 3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(4D, 5D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(5D, 5D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(6D, 7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(7D, 7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries.add(8D, 8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYSeries xyseries1 = new XYSeries("Second");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(1.0D, 5D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(2D, 7D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(3D, 6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(4D, 8D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(5D, 4D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(6D, 4D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(7D, 2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries1.add(8D, 1.0D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYSeries xyseries2 = new XYSeries("Third");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(3D, 4D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(4D, 3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(5D, 2D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(6D, 3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(7D, 6D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(8D, 3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(9D, 4D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseries2.add(10D, 3D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYSeriesCollection xyseriescollection = new XYSeriesCollection(); //再用XYSeriesCollection添加入XYSeries 对象<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseriescollection.addSeries(xyseries);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseriescollection.addSeries(xyseries1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyseriescollection.addSeries(xyseries2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return xyseriescollection;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; B、由ChartFactory&nbsp; 产生 JFreeChart 对象<BR>&nbsp;&nbsp;&nbsp; private static JFreeChart createChart(XYDataset xydataset)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFreeChart jfreechart = ChartFactory.createXYLineChart("Line Chart Demo 2",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "X",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Y",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xydataset,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PlotOrientation.VERTICAL,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jfreechart.setBackgroundPaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYPlot xyplot = (XYPlot)jfreechart.getPlot(); //获得 plot：XYPlot！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setBackgroundPaint(Color.lightGray); //设定图表数据显示部分背景色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D)); //设定坐标轴与图表数据显示部分距离<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setDomainGridlinePaint(Color.white); //网格线颜色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setRangeGridlinePaint(Color.white);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //获得 renderer 注意这里是XYLineAndShapeRenderer ！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)xyplot.getRenderer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setShapesVisible(true); //数据点可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setShapesFilled(true); //数据点被填充即不是空心点<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberAxis numberaxis = (NumberAxis)xyplot.getRangeAxis();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return jfreechart;<BR>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp; 一些重要的方法：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setSeriesLinesVisible(0, false); //第一个XYSeries数据点间连线不可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xylineandshaperenderer.setSeriesShapesVisible(1, false); //第二个XYSeries数据点不可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyplot.setRenderer(xylineandshaperenderer);</FONT>]]></description>
</item><item>
<title><![CDATA[jfreechart柱状图产生流程]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25567</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:27:42</pubDate>
<description><![CDATA[<STRONG><EM><U>柱状图</U></EM></STRONG><BR><FONT size=2>&nbsp;&nbsp; 柱状图的dataset 一般是用CatagoryDataset接口(具体实现类是DefaultCategoryDataset),也会用 IntervalXYDataset<BR>&nbsp;&nbsp; 接口<BR>&nbsp;&nbsp; 1、创建一个数据源（dataset）：<BR>&nbsp;&nbsp;&nbsp; private static CategoryDataset createDataset()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String series1 = "First";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String series2 = "Second";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String series3 = "Third";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String category1 = "Category 1";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String category2 = "Category 2";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String category3 = "Category 3";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String category4 = "Category 4";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String category5 = "Category 5";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(1.0D, series1, category1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series1, category2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series1, category3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(5D, series1, category4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(5D, series1, category5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(5D, series2, category1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(7D, series2, category2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(6D, series2, category3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(8D, series2, category4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series2, category5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(4D, series3, category1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series3, category2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(2D, series3, category3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(3D, series3, category4);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultcategorydataset.addValue(6D, series3, category5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return defaultcategorydataset;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 2、由ChartFactory&nbsp; 产生 JFreeChart 对象&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; private static JFreeChart createChart(CategoryDataset categorydataset)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo", //图形标题名称<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Category",//domain 轴 Lable<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里先简单理解为横坐标Lable好了<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Value", //range 轴 Lable<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里也先简单理解为纵坐标Lable好了<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categorydataset, //&nbsp; dataset<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PlotOrientation.VERTICAL, //垂直显示<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true, // legend?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,&nbsp; // tooltips?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false); //URLs?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jfreechart.setBackgroundPaint(Color.white);&nbsp;&nbsp; //设定背景色为白色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CategoryPlot categoryplot = jfreechart.getCategoryPlot(); //获得 plot：CategoryPlot！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.setBackgroundPaint(Color.lightGray); //设定图表数据显示部分背景色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.setDomainGridlinePaint(Color.white); //横坐标网格线白色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.setDomainGridlinesVisible(true); //可见<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.setRangeGridlinePaint(Color.white); //纵坐标网格线白色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //下面两行使纵坐标的最小单位格为整数<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer(); //获得renderer 注意这里是下嗍造型<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到BarRenderer！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setDrawBarOutline(false); // Bar的外轮廓线不画<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0F, 0.0F, new Color(0, 0, 64));&nbsp;&nbsp; //设定特定颜色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.green,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0F, 0.0F, new Color(0, 64, 0));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F, Color.red,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0F, 0.0F, new Color(64, 0, 0));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setSeriesPaint(0, gradientpaint); //给series1 Bar设定上面定义的颜色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setSeriesPaint(1, gradientpaint1); //给series2 Bar 设定上面定义的颜色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; barrenderer.setSeriesPaint(2, gradientpaint2); //给series3 Bar 设定上面定义的颜色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CategoryAxis categoryaxis = categoryplot.getDomainAxis();&nbsp; //横轴上的 Lable 45度倾斜<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return jfreechart;<BR>&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; 一些重要的方法：（增加一块标记）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IntervalMarker intervalmarker = new IntervalMarker(4.5D, 7.5D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intervalmarker.setLabel("Target Range");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intervalmarker.setLabelFont(new Font("SansSerif", 2, 11));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intervalmarker.setLabelAnchor(RectangleAnchor.LEFT);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intervalmarker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intervalmarker.setPaint(new Color(222, 222, 255, 128));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryplot.addRangeMarker(intervalmarker, Layer.BACKGROUND);</FONT>]]></description>
</item><item>
<title><![CDATA[jfreechart饼图产生流程]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25566</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:25:37</pubDate>
<description><![CDATA[<STRONG><EM><U>饼图</U></EM></STRONG><BR><FONT size=2>&nbsp;&nbsp; 饼图的dataset 一般是用PieDataset 接口，具体实现类是 DefaultPieDataset<BR>&nbsp;&nbsp; 1、创建一个数据源（dataset）：<BR>&nbsp;&nbsp;&nbsp; private static PieDataset createDataset()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); //注意是DefaultPieDataset！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultpiedataset.setValue("One", new Double(43.200000000000003D));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultpiedataset.setValue("Two", new Double(10D));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultpiedataset.setValue("Three", new Double(27.5D));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultpiedataset.setValue("Four", new Double(17.5D));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return defaultpiedataset;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; 2、由ChartFactory&nbsp; 产生 JFreeChart 对象<BR>&nbsp;&nbsp;&nbsp; private static JFreeChart createChart(PieDataset piedataset)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFreeChart jfreechart = ChartFactory.createPieChart("Pie Chart Demo 1",&nbsp; //图形标题名称<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; piedataset,&nbsp;&nbsp; // dataset<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // legend?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true,&nbsp;&nbsp;&nbsp;&nbsp; // tooltips?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false);&nbsp; //URLs?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PiePlot pieplot = (PiePlot)jfreechart.getPlot();&nbsp; //通过JFreeChart 对象获得 plot：PiePlot！！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pieplot.setNoDataMessage("No data available");&nbsp;&nbsp;&nbsp; // 没有数据的时候显示的内容<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return jfreechart;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 一些重要的方法：<BR>&nbsp;&nbsp;&nbsp; pieplot.setExplodePercent(0,0.3D) //把Lable 为"One" 的那一块”挖“出来30%</FONT>]]></description>
</item><item>
<title><![CDATA[jFreeChart产生图形的流程]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=jerry585&amp;id=25565</link>
<author>jerry585</author>
<pubDate>2007/6/17 21:24:01</pubDate>
<description><![CDATA[<FONT size=2><EM><U><STRONG>jFreeChart产生图形的流程</STRONG><BR></U></EM>&nbsp;&nbsp; 创建一个数据源（dataset）来包含将要在图形中显示的数据,创建一个 JFreeChart 对象来代表要显示的图形<BR>&nbsp;&nbsp; 把图形输出<BR>&nbsp;&nbsp; 重要的类和接口：<BR>&nbsp;&nbsp; org.jfree.data.general.Dataset&nbsp; 所有数据源类都要实现的接口<BR>&nbsp;&nbsp; org.jfree.chart.ChartFactory&nbsp;&nbsp;&nbsp; 由它来产生 JFreeChart 对象<BR>&nbsp;&nbsp; org.jfree.chart.JFreeChart&nbsp;&nbsp;&nbsp; 所有对图形的调整都是通过它噢！！<BR>&nbsp;&nbsp; org.jfree.chart.plot.Plot&nbsp;&nbsp;&nbsp; 通过JFreeChart 对象获得它，然后再通过它对图形外部部分（例：坐标轴）调整<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意：它有很多子类，一般都下嗍造型到它的子类！<BR>&nbsp;&nbsp; org.jfree.chart.renderer.AbstractRenderer&nbsp;&nbsp;&nbsp;&nbsp; 通过JFreeChart 对象获得它，然后再通过它对图形内部部分<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （例：折线的类型）调整。同样，针对不同类型的报表图，它有<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 着不同的子类实现！在下面我们简称它为 Renderer</FONT>]]></description>
</item>
</channel>
</rss>