使用CommonNavigator开发资源管理器--模型篇

使用CommonNavigator开发资源管理器--模型篇,第1张

在基础篇中 已经通过例子初步说明了 如何基于CNF制作一个简单的资源管理器 但很多开发人员并不理解 树上的结点是如何得到的 这就涉及到CNF的模型 在详述CNF的模型之前 需要先对Tree所使用的模型进行描述

对于早期习惯C/S开发的程序员来说 对于SWT中的Tree并不陌生 可以通过相应的TreeItem来创建子结点 但是这并不是一种好的设计和使用方式 它大大的增加了模型与UI之间的耦合度 所以在Swing中 使用了TreeNode来描述树模型 而Eclipse则通过JFace提供了ITreeContentProvider接口来描述树模型 这两种方式有异曲同工之处 大家可以看一下这两个接口 就会发现两者非常之雷同 最大的区别在于前者通过userObject持有真实的数据 而后者则是由TreeItem的getData来持有 在使用的时候 才会由相应的TreeViewer传给ITreeContentProvider 从结构来说 后者是一个纯粹的控制类 而TreeNode则是更灵活一些 可以作为一个控制类 也可以作为一个模型体 所以相对而言 TreeNode更加灵活一些 但从本质上而言 两者并无区别

表面上看来 一个TreeViewer将会拥有一个ITreeContentProvider用来取得树状的数据模型 进而呈现出来 但CNF中的树却更加灵活 在基础篇中 展现的图中 却表示可以通过扩展点 eclipse ui navigator navigatorContent来添加新的结点 而且这些与资源并没有本质的关系 它可以与一个具体的文件或者目录资源绑定 也可以与多个具体的文件或者目录绑定 还可以是一个与文件或者目录无关的模型 那么现在来看一下CNF到底做了哪些事情 使得它的模型扩展如此容易呢?

首先启动Eclipse 然后创建一个新的工作区 再将CNF相关的代码以插件的形式导入到这个工作区中 开始我们的分析过程

讲到这里 要提到Eclipse提供的一个接口IWorkbenchAdapter和IWorkbenchAdapter 这两个接口是有一点点怪的 因为从设计的角度来看 它将模型与展现层混合在一起 违反常见的设计准则 但从另一个角度来讲 它可以减少用户扩展的内容 有利于用户开发 由此可见设计准则并不是一成不变的 很多时候 它也要在易用性和合理性方面做出适当的妥协 这一点也可以在我们自己的设计中加以考虑 设计并不是要偏向哪一个方向 恰恰相反 设计是要在多者之间 如易用性 稳定性 合理性之间取得一个平衡点 而不是在各方面都做到完美

另外ITreeContentProvider有一个方法getParent(Object parent) 它是用来为一个指定结点找到相应的父亲结点 从而便于查找和定位 而这个方法却被很多人所忽视 开发人员经常会习惯性的直接返回null 而且也不会出现什么错误 但这个方法其实却是一个非常有用的方法 开发人员在使用Java资源管理器的时候 有一个经常使用的功能就是LinkWithEditor 这个功能经常是用来在资源管理器上定位当前打开的文件 这个功能如此之重要 以至于CNF专门为此定义了一个 eclipse ui navigator linkHelper来支持该功能 所以请根据实际情况 来实现这个方法 否则就无法正确的实现相应的功能

以上对TreeViewer的模型进行了简单的介绍和分析 接下来就看一下CNF是如何处理树模型从而获得如此高的灵活性

CNF很好的利用了代理模式 它自身并没有提供模型的能力 所以它将提供模型的能力仍然交给外部扩展点提供的类 它会根据当前要处理的结点 以及每个扩展点的表达式 来找出能够处理当前结点的ITreeContentProvider实例 然后再将这些实例返回的子结点放入相应的Set中 最终以数组的方式返回给TreeViewer 从表面上来看 可能很难理解正常情况下 每个TreeViewer只有一个ITreeContentProvider的模型接口 如何能够从多个实例中取得模型呢?就是由NavigatorContentServiceContentProvider这个代理类完成模型的组合功能

lishixinzhi/Article/program/Java/ky/201311/28448

为了在您的机器上配置起一个Java开发环境——您将使用一个“开发环境”来“开发”(编写)程序——您需要完成以下这些步骤:
1下载一个包含Java开发环境(编译器和其他工具)的大文件。点击“下载J2SE SDK”链接下载SDK(软件开发工具包)软件。网页会显示一个许可协议。点击“接受”。选择您的 *** 作系统,然后将文件保存到下载目录中。这是一个巨大的文件,用电话调制解调器下载需要好几个小时。接下来的两个文件也很大。
2下载一个包含Java文档的大文件。选择 *** 作系统后点击SDK141文档的链接。
3如果您的机器上还没有安装WinZip(或可执行相同功能的程序),那么您需要下载一个包含WinZip的大文件并安装之。如果您的机器上没有安装某个的版本的WinZip或其他解压缩软件,下载WinZip的试用版。运行EXE文件安装。很快我们将使用它来安装文档。
4安装Java开发环境。运行第一步下载的j2sdk-1_4_1-exe文件。他将自动解压并安装开发工具包。
5安装文档。阅读安装说明文档。它会要求您将文档文件移至刚才开发工具包的安装目录。将文档解压缩,文件就会被安排到适当的位置。
6调整环境变量。按照此页的要求,您需要改变路径变量。最简单的办法是打开一个MS-DOS窗口键入PATH看看当前的路径变量是什么,然后用记事本打开autoexecbat按要求修改PATH环境变量。
7全面测试。现在您应该可以打开另一个MS-DOS窗口并键入javac了。如果一切设置妥当,那么您将看到屏幕将输出两行文字告诉您如何使用javac。这意味着一切已经准备就绪了。如果您看到“错误的命令或文件名”这条消息,则说明还没有准备好。请重新阅读安装说明检查哪里出了问题。确定PATH被正确设置并可用。回头重新阅读上面的步骤,问题不解决不要轻易放弃。现在您已自豪地拥有一台能够编译Java程序的机器了。您已经准备好开始编写软件了!
2
顺便指出,刚才您解压缩的内容包括一个demo(演示)目录,其中包含许多精致的例子。所有的例子都可以立即执行,所以您不妨找到这个目录试运行一下其中的某些例子。许多例子都会发声,所以请打开扬声器。要运行例子,找到名如example1html的网页文件并使用您常用的浏览器打开即可。
3
您的第一个程序将是小巧可爱的。它将建立一个绘图区域并在其上绘制一条对角线。创建此程序您需要:
1打开记事本键入(或复制粘贴)程序 。建立一个新目录以保存程序。打开记事本(或其他可以创建TXT文件的文本编辑器)。将范例程序录入或复制粘贴到记事本窗口中。切记:输入程序的大小写敏感。因此必须按照范例程序中字母的大小写输入。重审以上编程步骤。如果录入内容和范例程序不是完全一致,则程序将无法正常运行。
2保存程序 。将文件在第一步创建的路径下保存,文件名为FirstAppletjava。文件名大小写敏感。请确保字母“F”和“A”大写,其他字母小写,如前所示。
3使用Java编译器编译程序生成一个Java程序 。
打开一个MS-DOS窗口。改变至包含FirstAppletjava的路径下(cd),键入:
javac FirstAppletjava
记住大小写敏感!或者编译成功,这时屏幕不输出任何信息,或者有错误发生。若没有错误,则会在目录里生成一个名为FirstAppletclass的文件与FirstAppletjava并列。
(请确保程序保存的文件名为FirstAppletjava而不是FirstAppletjavatxt。最简单的办法就是在MS-DOS窗口下键入dir然后查看文件名。若扩展名是txt 则请重命名文件去掉此扩展名。也可以运行Windows资源管理器在“查看”菜单下点击“选项”。确保“隐藏已注册的MS-DOS文件扩展名”选项处于未选中状态,然后在资源管理器中查看文件名。若需要则将文件改名。)
4排除问题。若有问题产生则想办法解决。将您的程序与上面的范例程序对比,使之完全相同。修改过程中不断编译程序,直到没有错误发生。
5建立一个HTML网页“包含”刚创建的Java程序 。
创建一个HTML页面来包含小程序。另开一个记事本窗口。录入下面的内容:
将此文件存于同一目录中,文件名为applethtm。
Java程序怎样编写
4
1运行Java程序 。
在您的MS-DOS窗口中键入:
appletviewer applethtm
应该可以看见一条从左上角到右下角的对角线:(如上图所示)
将小程序查看器的窗口拉大一些以查看整条对角线。您也可以将此HTML网页装载到任何现用的浏览器中,如Netscape Navigator或微软IE,看到的结果是大致相同的。
使用Java语言编程就需要一个Java编译器。下一节将指导您下载并安装一个编译器。一旦有了编译器我们就可以开始学习编程了。下载和安装过程将会持续几个小时,大部分时间用来下载几个很大的文件。您还需要有大约40兆字节的空闲磁盘空间(开始前请确定有足够的空间)。
这里是本节的示范程序:
import javaawtGraphics;
public class FirstApplet extends javaappletApplet
{
public void paint(Graphics g)
{
gdrawLine(0, 0, 200, 200);
}
}

学习任何一门编程语言,都是为了去实现一个个项目,来解决实际的问题。无论项目是大还是小,都关联着许多知识与技能。

例如要用Java写一个「文件资源管理器」的桌面应用,就需要MVC设计模式、组件化构建、对象集合及 *** 作、打包与部署、多线程遍历与异步I/O *** 作等知识模块。缺少任意一个模块,都难以完成一个项目。

所以完成一个项目,就像是在完成一张拼图,要把一个个知识模块搞定,再拼成一个项目,这样「项目驱动式」的学习,是目前公认高效的编程学习方法:

容易入门:只要掌握了基本的知识和编程技巧,就具备了完成简单项目的能力,就可以开始使用这种学习方法。

缺哪补哪:在动手做项目的过程中,就可以检验自己的学习成果,发现自己欠缺的知识模块,针对性学习更高效。

有成就感:学习的成果,体现为一个个可解决实际问题的项目,让学习得到即时反馈,成就感爆棚!

要注意的是,项目驱动式的学习,项目选择要循序渐进,每个项目既要包含之前学过的知识模块,又要有新的知识模块让自己来学习。

昌平北大青鸟采用O2O双师教学,同时采用“因材施教,分级培优”昌平北大青鸟Java培训课程采用“理论+实践”的授课模式,保证每个学员都企业可以直接上手 *** 作,如果你对昌平北大青鸟课程比较感兴趣可以填写下面的表单即可有机会获得昌平北大青鸟Java培训班免费体验课程。

如果要是不小心关闭了包资源管理器视图,想再次打开方法有两种:

在软件顶部Windows->Show View->Package Explorer如果里面没有找到就用第二种

同样在顶部Windows->Show View->Package->others点击进去会有一个小d框,然后找到Java->Package Explorer点击就会在主界面d出包资源管理器视图了,eclipse里面所有视图都可以在others里面找到。

在IT行业就业前景广阔,很多零基础的人,也想成为软件开发开发工程师。那么零基础想入门编程需要学习什么知识呢该做什么准备呢首先,选择适合自己学习且适应市场行业发展的一门编程,选择方向,制定学习目标进行深入学习。以Java语言为例,Java作为世界主流编程语言之一,零基础想要学好相对还是比较难的,很多人不知道学习Java要做什么准备,入门Java需要学什么知识,所以我今天就来给大家简单介绍下。

想学好Java需要你有一定的英语基础,如果你本身英语好那么学起Java来会更容易。如果你英语很差那么需要你先多多练习英语,因为Java的代码口令都是英文的,所以你需要将常用的口令代码背熟。如果英语不好还不愿意死记硬背,那么用Java编程都是个问题。

其次零基础学习Java想入门首先要学习一些JavaEE基础知识,比如:Java基础语、面向对象、核心类库、集合、异常、IO、线程、JDK新特性等知识点。学好基础知识,把基础打牢再继续学习会简单很多。

打好基础后接下来还要学习JavaWeb开发、Java高级框架等知识,主要包含:前端技术、数据库、JAVA数据库 *** 作、软件服务器及服务器相关技术、动态网页JSP、AJAX、SpringMVC、MyBatis、Spring、MySQL高级、Linux&Redis&Nginx、Maven等知识点。

第三想入门Java只学理论知识是不够的,还要多多进行实 *** 训练,一是巩固所学的理论知识;二是增加自己的实战经验,找工作时有相关项目经验会容易很多;三是可以查漏补缺,找出自己学习中不足的地方好继续改进,一举多得。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13199318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存