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关系图相关推荐

  1. 使用IDEA工具查看Java类层次结构关系图

    本文图文讲解开发中IDEA常用查看Java类层次结构关系图方法. 首先需要强调的是idea工具版本以及操作系统平台不同,界面.功能.快捷键等会有所不同,但总体是一致的,我这里是在macOS Big S ...

  2. 图例解析四大UML关系图使用

    刚在网上看到关于UML方面,感觉不错.转过来给大家分享. 类之间的UML关系图软件开发 类间关系有很多种,在大的类别上可以分为两种:纵向关系.横向关系. 纵向关系就是继承关系,它的概念非常明确,也成为 ...

  3. Android Studio自动生成UML关系图的方法步骤

    本文主要介绍了Android Studio自动生成UML关系图,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.目录 安装Sketch It 安装"Pl ...

  4. eclipse使用ModelGoon插件自动生成java类的UML图

    1.ModelGoon介绍 ModelGoon 是一个 Eclipse插件,能将Eclipse中现有的java类生成类图,可以进行Java 包的依赖分析,基于UML图进行模型设计,以及逆向工程(即从已 ...

  5. 设计模式之UML关系图

    什么是UML图,在这里我就不赘述了,园子里有很多介绍UML图的文章. UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregati ...

  6. 【Java 设计模式】UML 之类图

    UML 之类图 前言:什么是 UML ? §1 类图概念 §2 类的表示方式 §3 类与类之间关系的表示方式 §3.1 关联关系 §3.1.1 单向关联 §3.1.2 双向关联 §3.1.3 自关联 ...

  7. 几种常见的UML关系图汇总

    在UML的 类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Com ...

  8. php数据关系图,如何利用navicat查看数据表的ER关系图

    文章背景: (相关推荐:navicat) 由于工作需要,现在要分析一个数据库,然后查看各个表之间的关系,所以需要查看表与表之间的关系图,专业术语叫做ER关系图. 默认情况下,Navicat显示的界面是 ...

  9. idea中查看类的继承关系图

    快捷键CTRL+H查看 利用idea快捷键查看hierarchy,效果如下 好处:可以看向上和向下的继承关系 缺点:只能看继承关系,不能看实现了哪些接口 在指定类右键查看diagram 也可以使用快捷 ...

最新文章

  1. Lighttpd 配置与性能优化
  2. 5月以来的学习,软件工程+设计模式+J2EE开发+portal开发,以及SOA技术
  3. before与after的一些应用总结
  4. VS2019中接连MySQL全部过程
  5. Vista 系统C盘(系统盘)越来越小的问题.与解决.
  6. matlab 矩阵加减乘除运算
  7. nginx tomcat 负载
  8. [译] Bounds Check Elimination 边界检查消除
  9. html 输入框 相加,JS中,如何实现两个输入框中内容的数字相加?
  10. K-SVD字典学习算法
  11. app素材模板|ui界面的导航设计实用干货
  12. C++虚函数(多态性)
  13. RayData大数据可视化教程(1)——软件使用和材质渲染基础
  14. MAC电脑配置环境变量
  15. lightbox点击图片预览
  16. R语言之主成分分析和因子分析
  17. Docker码头工人之将爬虫放入docker运行
  18. 控制面板设置java_win10系统打开java控制面板的具体技巧
  19. 妖怪,你可认得这32个关键字?
  20. 笔记:在本实验pix2pix比AAE差在哪

热门文章

  1. 转发: Angular装饰器
  2. 安卓监听软键盘搜索键
  3. Python——文件操作
  4. MAC 下用GCC编译报错:“Undefined symbols for architecture x86_64: ”
  5. JVM证书制作步骤+耶鲁 CAS 配置
  6. Flash 与 JavaScript的交互总结
  7. ASP.NET极限:页面导航 (翻译)
  8. 微信公众嵌套页面里再嵌入其他页面的一些问题
  9. webpack使用文档
  10. LeetCode--88.合并两个有序数组(插入法,排序法)