IDEA查看Java类的UML关系图
1.说明
通过IDEA自带的Diagarm功能,
可以方便的查看Java类的UML关系图,
同时能有选择的查看变量、方法和构造器等,
以及对查看对象的访问权限进行过滤,
可以自由编辑生成的关系图,
任意新增或者删除类,
还能保存以及导出为图片等多种格式。
2.功能入口
在打开的Java类中右键:
或者在左侧项目的文件树中,
在对应的Java类名上右键:
Java类右键 -> 选择Diagrams -> 点击Show Diagram...,
这里打开了String.java的UML类图:
顺便一提,
Show Diagram...和Show Diagram Popup...的区别,
前者是打开一个新的标签页,比较常用,
后者是打开一个悬浮窗口,鼠标点击空白处后自动关闭。
3.功能按钮
在自动生成的UML类图左上角,
有常用的功能按钮,
下面会详细介绍:
序号 | 功能 | 说明 |
---|---|---|
1 | Fields | 字段 |
2 | Constructors | 构造器 |
3 | Methods | 方法 |
4 | Properties | 属性 |
5 | Inner Classes | 内部类 |
6 | Change Visibility Level | 改变可见等级,可以修改查看的访问权限等级 |
7 | Change Scope | 改变范围 |
8 | Edge Creation Mode | 边创建模式 |
9 | Show Dependencies | 显示依赖 |
10 | Zoom In | 放大 |
11 | Zoom Out | 缩小 |
12 | Actual Size | 实际大小,在放大缩小操作后,可以回到原有的实际大小 |
13 | Fit Content | 适配内容,根据内容自动调整图形排列 |
14 | Apply Current Layout | 应用当前的布局 |
15 | Save UML Diagram | 保存UML图 |
16 | Export to Image File... | 导出为图片 |
17 | Print... | 打印 |
4.过滤访问权限
上面的功能1,2,3需要配合4来使用,
即可以对字段,构造器和方法进行过滤,
指定需要查看对象的访问权限等级,
可以非常灵活的查看类之间关系。
比如查看String类的Fields,
访问权限设置为All:
访问权限设置为Public:
可以看到All比Public多出来一个构造器方法:
String(char[] value, boolean share)
5.新增Java类
可以在关系图中新增Java类,
在图中右键 -> Add Class to Digram:
输入需要加入的类名,
比如这里加入StringBuffer.java:
新增后UML关系图如下:
6.删除Java类
删除关系图中不需要的Java类,
只需要选中类的图标,
然后按键盘Delete键删除即可,
也可以在图标上右键点击删除,
这里删除Serializable.java和Comparable.java,
删除后UML关系图如下:
7.图形操作
关系图支持放大、缩小、还原以及适配,
对应功能按钮10-14,
如果对布局不满意,
可以选中某个图形,
然后鼠标变成十字箭头,
点击鼠标左键拖动即可,
如果要批量操作,
可以鼠标左键框选多个图形,
也可以按住Shift配合鼠标左键多选,
在鼠标变成十字箭头后,
可以同时拖动多个图形。
如果对自己拖动的图形不满意,
可以使用按钮14,
Apply Current Layout,
恢复原来的图形布局,
也可以右键->Layout,
选择自己喜欢的布局类型:
8.查看实现类和父类
在图形上面右键,
可以看到Show Implementations
和Show Parents,
可以用来查看当前类的所有实现类
和所有父类及实现的接口。
9.查看源码
在图形上面右键,
可以看到Jump to Source,
快速跳转到对应类的源码。
10.保存和导出
对应功能按钮15-17,
可以保存UML关系图,
方便下次使用,
也可以导出为多种格式的图片,
也可以打印到PDF等。
11.参考文章
IDEA源码阅读利器 — UML类图插件Diagram
http://www.taodudu.cc/news/show-1250939.html
相关文章:
- 30. 包含min函数的栈
- 35. 复杂链表的复制
- 58 - II. 左旋转字符串
- 03. 数组中重复的数字
- 53 - II. 0~n-1中缺失的数字
- 04. 二维数组中的查找
- 11. 旋转数组的最小数字
- 50. 第一个只出现一次的字符
- 32 - I. 从上到下打印二叉树
- 32 - II. 从上到下打印二叉树 II
- 32 - III. 从上到下打印二叉树 III
- 26. 树的子结构
- PostgreSQL数据库密码
- SpringBoot中使用Hibernate Validator校验工具类
- 28. 对称的二叉树
- 解决tomcat的undeploy
- 解决eclipse出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
- 下载安装neo4j
- vue-drag-resize实线页面的拖拽与缩放
- 解决IDEA不能编译XML文件
- 播放视频和音频文件java
- 实时获取屏幕大小
- vue部分样式无法修改
- vue中根据搜索内容跳转到页面指定位置
- Duplicate entry ‘‘ for key ‘***‘
- transferto遇到的问题java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local\Temp
- Spring的jar包下载
- *** is required and cannot be removed from the server
- Tomcat 服务器介绍和使用
- 第一个 Web 程序
IDEA查看Java类的UML关系图相关推荐
- 使用IDEA工具查看Java类层次结构关系图
本文图文讲解开发中IDEA常用查看Java类层次结构关系图方法. 首先需要强调的是idea工具版本以及操作系统平台不同,界面.功能.快捷键等会有所不同,但总体是一致的,我这里是在macOS Big S ...
- 图例解析四大UML关系图使用
刚在网上看到关于UML方面,感觉不错.转过来给大家分享. 类之间的UML关系图软件开发 类间关系有很多种,在大的类别上可以分为两种:纵向关系.横向关系. 纵向关系就是继承关系,它的概念非常明确,也成为 ...
- Android Studio自动生成UML关系图的方法步骤
本文主要介绍了Android Studio自动生成UML关系图,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.目录 安装Sketch It 安装"Pl ...
- eclipse使用ModelGoon插件自动生成java类的UML图
1.ModelGoon介绍 ModelGoon 是一个 Eclipse插件,能将Eclipse中现有的java类生成类图,可以进行Java 包的依赖分析,基于UML图进行模型设计,以及逆向工程(即从已 ...
- 设计模式之UML关系图
什么是UML图,在这里我就不赘述了,园子里有很多介绍UML图的文章. UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregati ...
- 【Java 设计模式】UML 之类图
UML 之类图 前言:什么是 UML ? §1 类图概念 §2 类的表示方式 §3 类与类之间关系的表示方式 §3.1 关联关系 §3.1.1 单向关联 §3.1.2 双向关联 §3.1.3 自关联 ...
- 几种常见的UML关系图汇总
在UML的 类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Com ...
- php数据关系图,如何利用navicat查看数据表的ER关系图
文章背景: (相关推荐:navicat) 由于工作需要,现在要分析一个数据库,然后查看各个表之间的关系,所以需要查看表与表之间的关系图,专业术语叫做ER关系图. 默认情况下,Navicat显示的界面是 ...
- idea中查看类的继承关系图
快捷键CTRL+H查看 利用idea快捷键查看hierarchy,效果如下 好处:可以看向上和向下的继承关系 缺点:只能看继承关系,不能看实现了哪些接口 在指定类右键查看diagram 也可以使用快捷 ...
最新文章
- Lighttpd 配置与性能优化
- 5月以来的学习,软件工程+设计模式+J2EE开发+portal开发,以及SOA技术
- before与after的一些应用总结
- VS2019中接连MySQL全部过程
- Vista 系统C盘(系统盘)越来越小的问题.与解决.
- matlab 矩阵加减乘除运算
- nginx tomcat 负载
- [译] Bounds Check Elimination 边界检查消除
- html 输入框 相加,JS中,如何实现两个输入框中内容的数字相加?
- K-SVD字典学习算法
- app素材模板|ui界面的导航设计实用干货
- C++虚函数(多态性)
- RayData大数据可视化教程(1)——软件使用和材质渲染基础
- MAC电脑配置环境变量
- lightbox点击图片预览
- R语言之主成分分析和因子分析
- Docker码头工人之将爬虫放入docker运行
- 控制面板设置java_win10系统打开java控制面板的具体技巧
- 妖怪,你可认得这32个关键字?
- 笔记:在本实验pix2pix比AAE差在哪
热门文章
- 转发: Angular装饰器
- 安卓监听软键盘搜索键
- Python——文件操作
- MAC 下用GCC编译报错:“Undefined symbols for architecture x86_64: ”
- JVM证书制作步骤+耶鲁 CAS 配置
- Flash 与 JavaScript的交互总结
- ASP.NET极限:页面导航 (翻译)
- 微信公众嵌套页面里再嵌入其他页面的一些问题
- webpack使用文档
- LeetCode--88.合并两个有序数组(插入法,排序法)