`
alartin
  • 浏览: 207929 次
社区版块
存档分类
最新评论

Netbeans平台: 文件的识别

阅读更多
很多应用程序通过用户界面来显示目录和文件, Netbeans用户界面是通过系统文件系统中的虚拟文件来创建的,很多Netbeans的用户界面其实是系统文件系统的一个视图.而系统文件系统其实是运行时根据解析所有模块的层次文件layer.xml构建的.

基本的机制是:特定的,已知的文件类型分别具有自己的图标,菜单选项和行为或者动作.

Netbeans如何知道这些文件的类型呢?

答案是:这些文件其实或者是FileObject包装起来的文件(java.io.File),或者是配置文件(通过包装模块的XML文件). 真正你看到的其实是节点. 节点提供文件相关的动作,名字等其他事情. 而在节点和文件对象之间的是数据对象:

Node <---> DataObject <---> FileObject

                            |-------- DataObject知道文件的类型,不同的文件扩展名对应不同的类型的DataObject(由实现文件类型支持接口的模块提供), 例如图片模块能够识别和打开gif,png格式的图片

识别不同文件类型的模块安装了不同的DataLoader数据装载器. 数据装载器是文件类型特异的数据对象的工厂类.

所以当一个目录被打开时,Netbeans系统就会询问每个已知的数据装载器: 你认识这个文件类型么? 第一个回答认识的数据装载器负责创建对应的数据对象.实际上这个识别过程会有一些优化过程在里面.但是基本流程是这样的.

为了实际显示每个文件的一些数据,Netbeans系统会调用每个对应数据对象的getNodeDelegate()方法, 这些节点是你在Netbeans用户界面看到的真正的东西.

分享到:
评论

相关推荐

    NetBeans课件

    有关netbeans的资料:IDE 能自动识别 CVS 工作目录并把所有改动过的文件在版本窗口中列出来。 更新和提交文件是使用 CVS 所执行的最常见的活动:您可以从主要的 IDE 导航窗口(Projects、Files 和 Favorites)或从 ...

    PatternRecognition:识别给定点集中的线型的程序

    模式识别该程序可以识别给定点集中的线型。 给定平面中的n个不同点的集合,程序将找到并绘制连接4个或更多点的子集的每个线段。 项目结构src:项目源代码测试: JUnit测试和测试数据lib_deps:库依赖nb项目build.xml...

    PlantUML-NB:用于 PlantUML 的 Netbeans 插件-开源

    PlantUML 的 Netbeans 插件。 提供 -&gt; 用于查看 UML 图像的窗口 -&gt; PlantUML 代码的语法突出显示。 -&gt; 注册新的文件类型 x-puml -&gt; 识别扩展名为 puml 或 PUML 的文件。

    JAVA上百实例源码以及开源项目

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

    Java程序设计基础:环境变量配置.pptx

    指向JDK安装后的根目录,如“ C:\Program files\Java\jdk1.8.0_20”,Eclipse、NetBeans等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。 Path 环境变量 指向Java命令程序所在目录,设置Path后,操作系统...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    cytospade:用于 SPADE 的 Cytoscape 插件

    该文件夹被自动识别为模块套件。 右键单击项目并选择“运行”。 这将启动 Gephi。 您还可以使用“ant run”命令从命令行运行 Gephi。创建插件创建一个新模块在 Netbeans 中,展开 '''Gephi Plugins''' 项目并右键单

    Automated-Teller-Machine:一个基于ATM Emulator GUI的Java applet

    #步骤运行该应用程序:1.)如果可能,请在netbeans中运行“ atme.class”。 2.)如果不可用,则手动将类路径设置为jdbc驱动程序。 3.)如果分别在运行sql查询的每个java文件中的“ root”和“”分别不同,请更改您...

    -DPO3_U3_A2_ROGH:活动二、多流程计划

    在 NetBeans IDE 中创建一个项目,在该项目中,您必须创建与程序对应的类,您在其中创建至少两个不同的线程,并且程序的多个执行流程会在屏幕上显示结果的打印输出。 目前,保护信息是必不可少的,因此创建了一个...

    antlr4权威指南

    NetBeans公司的IDE使用ANTLR来解析C++;Hibernate对象-关系映射框架(ORM)使用ANTLR来处理HQL语言。  除了这些鼎鼎大名的项目之外,还可以利用ANTLR构建各种各样的实用工具,如配置文件读取器、遗留代码转换器、...

Global site tag (gtag.js) - Google Analytics