NetBeans学习笔记2
来源:互联网 发布:ps软件破解版 编辑:程序博客网 时间:2024/05/20 14:42
官网tutorial地址:http://platform.netbeans.org/tutorials/nbm-selection-2.html
1、Node API是一个表示层,连接了数据模型和显示界面。
Node是通用的层级关系的对象,它包含:
a、子节点
b、动作:一组可以在弹出菜单中显示的动作
c、显示名称:一个易读的可以被本地化的显示名称
d、图标:一个在图形界面显示的图标
知识点:
1、BeanTreeView是基于JTree的,用了显示Node及其子节点的API,集成了查找、右键菜单等功能
2、使用Node需要引入AbstractNode API,即和AbstractNode建立依赖关系
3、AbstractNode类并非一个抽象类,它实现了Node通用的方法。可以通过传递一个Children对象来创建一个AbstractNode对象,然后设置显示名称,设置图标,便可以获得一个Node对象,在界面中显示
4、当Children对象第一次被激活时,会调用ChildrenFactory.createKeys来生成子节点相关的key,而真正的节点是通过方法createNodeForKey根据Key来创建的:
Node result = new AbstractNode( Children.create(new EventChildFactory(), true), Lookups.singleton(key));
当Node被选中时,Lookups.singleton(key)创建的lookup对象会被TopComponent的Lookup代理,进一步被全局的Lookup代理
5、当一个Explorer被添加到一个容器后,它会在容器及容器的父类中寻找实现了ExplorerManager.Provider接口的类,Explorer通过该类提供的ExplorerManager来构造要显示的内容
6、Utilities.actionsGlobalContext也是一个Lookup,它代理TopComponents的Lookup。ExplorerUtils.createLookup(ExplorerManager, ActionMap)
所创建的Lookup也会代理Explorer中被选中Node的Lookup
7、简单概括就是:
a、让当前的容器实现了ExplorerManager.Provider接口,该接口提供一个ExplorerManager对象,该对象实际控制了要显示的内容
b、在容器中添加Explorer
add(new BeanTreeView(), BorderLayout.CENTER);
c、初始化ExplorerManager的数据
mgr.setRootContext(new AbstractNode(Children.create(new EventChildFactory(), true)));
d、连接ExplorerManager和容器的Lookup
associateLookup(ExplorerUtils.createLookup(mgr, getActionMap()));
几种view类型的实际效果:
IconView
ListView
双击一个节点后,进入子层节点:
ChoiceView
MenuView
- NetBeans学习笔记2
- NetBeans学习笔记1
- NetBeans学习笔记3
- JUnit 学习笔记 NetBeans篇
- JUnit学习笔记之NetBeans篇
- JUnit学习笔记之NetBeans篇
- netbeans开发学习(2)
- Netbeans 学习
- Netbeans 学习
- 学习netbeans的网站
- netbeans学习教程
- NetBeans 学习资源
- Netbeans学习总结
- [Eclipse笔记]How about NetBeans?
- netbeans开发学习(1)
- Netbeans设计简易计算器学习
- NetBeans工具学习之道:NetBeans的(默认)快捷键
- NetBeans工具学习之道:NetBeans IDE Java 快速入门教程
- IE中缓存中的图片数据清除问题
- C++头文件的包含顺序研究
- poj3450 Corporate Identity
- mysql
- ruby开启
- NetBeans学习笔记2
- c/c++中出现“undefined reference to”的解决
- 简单折叠面板的制作(来源于CSS技术彻底研究)
- jar命令 创建和解压jar文件包
- 如何在Windows下发布QT应用程序?
- 让linux用户隶属于多个组
- Erlang vs Go
- 泰坦尼克号——完美主义的杰作
- 手游项目A之BUG-构造函数