【PlantUML】-类图-布局,如何改变元素位置

这篇具有很好参考价值的文章主要介绍了【PlantUML】-类图-布局,如何改变元素位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

  PlantUML属于自动布局。掌握好,是一件利器,掌握不好,就会不知其所以然。尤其在布局方面,因为它的布局可能会和你想的不太一样。本篇文章以例子为基础,简单地说几个在实际应用过程中摸索出来的原则。相信看完这篇文章(有示例),你就可以轻松驾驭PlantUML的布局,自由调动元素了。



一、基本概念

布局,就是说当你添加元素后,这些元素是如何排列的如何才能控制这些元素的位置达到自己想要的结果


二、具体步骤

1.环境说明

名称 说明
Windows Windows10
Intellij IDEA版本 Intellij IDEA 2019.2.3(Ultimate Edition)
PlantUML Integration IDEA插件 2.23.0

2.自动布局

PlantUML既然是自动布局的,那其中的元素是基于什么原则什么时候换行的?
其实,观察了一下,我称它为正方形布局。

下面先看例子和效果,

1 X 1 最多容纳1个元素

示例1:1个元素

@startuml
class 1{}
@enduml

其效果:占了1行
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

2 X 2 最多容纳4个元素

示例2:2个元素

@startuml
class 1{}
class 2{}
@enduml

其效果:占了1行
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

示例3:3个元素

@startuml
class 1{}
class 2{}
class 3{}
@enduml

其效果:1和2占了第1行,第3个元素占了第2行
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置
示例4:4个元素

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
@enduml

其效果:1和2是第1行,3和4是第2行
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3 X 3 最多容纳9个元素

示例5:5个元素

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
@enduml

其效果:5个元素的时候,1和2和3占据了第1行,4和5在第2行
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

示例6:9个元素

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}
@enduml

其效果:平均每行3个
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

4 X 4 最多容纳16个元素

示例7:10个元素

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}
class 10{}
@enduml

其效果:第1行由1,2,3变成了1,2,3,4
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

有没有发现什么规律?貌似在按照正方形来提前规划出位置,然后依次往里面填充元素
什么意思呢?解释一下,什么叫正方形布局。

1x1:最多容纳1个元素,即1个元素占1行
2x2:最多容纳4个元素,即超过5个,布局就要变成 3X3,第1行就变成了3个元素
3x3:最多容纳9个元素,即超过9个,布局就要变成 4X4,第1行就变成了4个元素
...

验证一下猜想,超过16个元素会怎么样?

5 X 5 最多容纳25个元素

示例8:17个元素

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}
class 10{}
class 11{}
class 12{}
class 13{}
class 14{}
class 15{}
class 16{}
class 17{}
@enduml

其效果:布局变成了 5X5。
当超过25个元素时,会变成6X6布局,第1行也就会变成6个元素。
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

以上就是自动布局的原则,那有没有办法改变原有的布局方式呢?
当然有,接着往下看。

3.改变布局

改变布局就是改变元素的相对位置,给2个元素添加操作符。

先说结论,2个元素之间操作符如下,
以下是改变水平结构,

(1)- 或者 .
当前元素会向最左移动,占据纵向位置
其他元素仍按照原有的方式进行布局

(2)注释,note left或者right
当前元素会向最左移动,占据纵向位置,优先级高于(1)
同等注释,按元素先后位置排序

以下是改变垂直结构,

(1)-- 或者 ..
当前位置会向最右移动,占据纵向位置
其他元素仍按照原有的方式进行布局

(2)注释,note top或者bottom
当前元素会向最右移动,占据纵向位置,优先级低于(1)
同等注释,按元素先后位置排序

通用原则,

.和-的只是线条的表示区别,.个是虚线,-个是实线。
[hidden] 用于隐藏线条

以 3X3布局,9个元素为例,解释一下结论,

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}
@enduml

其效果:
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.1 水平结构

3.1.1 操作符 .

示例:把class 4 放在class 3的后边,位于同一行

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}

3 . 4

@enduml

效果,
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.1.2 操作符 . 隐藏线条

示例:把class 4 放在class 3的后边,位于同一行,但是隐藏线条。

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}

3 .[hidden] 4

@enduml


效果,
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.1.3 操作符 -

示例:把class 3 放在class 4的后边,位于同一行

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}

4 - 3

@enduml

效果,
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.1.4 添加注释 left或者right
@startuml
class 1{}

class 5{
}
note left of 5
    注释
end note

class 2{
}
note left of 2
    注释
end note

class 3{}
class 4{}


class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}

4 - 3

@enduml

效果,
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.2 垂直结构

3.2.1 操作符 - -

示例:把class 4 放在class 3的下边

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}
class 11{}

3 -- 4

@enduml

效果,
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.2.2 操作符 . .

示例:把class 3 放在class 43的下边

@startuml
class 1{}
class 2{}
class 3{}
class 4{}
class 5{}
class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}
class 11{}

4 .. 3

@enduml

效果,
【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

3.2.3 添加注释top或者bottom
@startuml
class 1{}

class 5{
}
note bottom of 5
    注释
end note

class 2{
}
note top of 2
    注释
end note

class 3{}
class 4{}

class 6{}
class 7{}
class 8{}
class 9{}

class 10{}
class 11{}

4 -- 3

@enduml

【PlantUML】-类图-布局,如何改变元素位置,架构设计,plantuml,uml,类图,布局,改变元素位置

至此,可以开启的你的UML大法了~


写在后面

  如果本文内容对您有价值或者有启发的话,欢迎点赞、关注、评论和转发。您的反馈和陪伴将促进我们共同进步和成长。


系列文章

【PlantUML】-类图
【PlantUML】-时序图
【IDEA插件】- PlantUML integration-Can‘t find Graphviz文章来源地址https://www.toymoban.com/news/detail-796656.html

到了这里,关于【PlantUML】-类图-布局,如何改变元素位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源绘图工具 PlantUML 入门教程(常用于画类图、用例图、时序图等)

    一、类图 类的UML图示 定义能见度(可访问性) 类之间的关系 例子1: 或者 例子2: 或者 二、用例图 三、时序图 例子1: 例子2: 参考资料 官网: PlantUML - 类图 PlantUML - 用例图 PlantUML - 序列图 博客:https://blog.csdn.net/pleaseprintf/article/details/130656001

    2024年03月17日
    浏览(39)
  • 如何改变outlook的ost数据文件存储位置

    打开注册表,找到以下目录: 计算机HKEY_CURRENT_USERSoftwareMicrosoftOffice16.0Outlook 在outlook这一层文件夹上右键,选择 新建—字符串值,将新建的字符串名称改为:ForceOSTPath,并将值设置为你想存放ost文件的位置。如下图所示: ​在outlook上新建字符串ForceOSTPath并设置对应的路径

    2024年02月04日
    浏览(45)
  • 如何改变Windows 11 中任务栏位置(最新有效方式)

    1. 打开注册表 。 您可以通过在“运行”菜单 (Windows + R) 中键入“regedit”或搜索“regedit”来到达那里。如果提示确认,请说是。   2.导航到 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects 3.双击打开设置键进行编辑。   4. 将第二行中的第五个值从“03”更改为“

    2024年02月04日
    浏览(33)
  • Java中ArrayList如何删除指定位置的元素

    目标:list中有0到39共40个元素,删除其中索引是10、20、30的元素 首先当我们删除第10位元素时,List会将后面的元素向前补位,之后再查第10位元素就会输出第11位元素 那么删除了一个元素以后,后面需要删除的元素位置就向前提1位 当然我们可以用一个数组或列表从小到大存

    2023年04月08日
    浏览(76)
  • 安卓Android 架构模式及UI布局设计

    Android UI 设计是指在Android应用程序中创建用户界面的过程。这涉及到使用XML布局文件定义界面元素的位置和外观,以及通过Java或Kotlin代码处理用户交互。Android UI设计包括使用各种视图组件(如按钮、文本框、列表等)和布局管理器(如线性布局、相对布局等)来构建用户友

    2024年04月13日
    浏览(49)
  • 基于VScode 使用plantUML 插件设计状态机

    本文只讲述操作的实际方法,假设java已安装成功 。 新建一个文件夹并在目录下面新建文件test.plantuml 其内容如下所示: 然后右击,如下图所示 开发人员在编写代码时,经常会用到状态机,如果没有一个可视化的状态机,在复杂的状态机下面,通过代码分析问题需要不少时间

    2024年02月07日
    浏览(36)
  • echarts中饼图的tooltip根据鼠标位置改变弹出位置

    echarts中的tooltip.position属性配置参考  echarts配置手册 问题:使用echarts绘制饼图,tooltip的弹出位置会遮挡住图表。 需求:tooltip的弹出位置在饼图外圈,不遮挡图表内容,切根据鼠标的位置而改变。 解决方法:在tooltip的配置项中对position进行配置,使用回调函数实现tooltip弹

    2024年02月08日
    浏览(53)
  • 改变NPM安装依赖位置,节省C盘空间

    众所周知,npm 全局安装依赖位置默认是c盘,c盘一般是系统安装盘,装太多东西容易造成系统运行缓慢,因此想将依赖包安在指定位置 nodejs的安装可以直接到菜鸟教程查看: http://www.runoob.com/nodejs/nodejs-install-setup.html nodejs的安装包下载位置: https://nodejs.org/en/download/ npm与nod

    2024年02月08日
    浏览(43)
  • qt 如何设计好布局和漂亮的界面。

      进群领取 qt 开发学习资料以及技术交流   在下方 ↓↓↓↓↓↓↓↓ ​       曾几何时,我们都在黑框框下度过,我们受够了被黑框框支配的恐惧,想要跳出去,去看看外面,我们听够了类似于界面只是皮肤,背后的代码才是王道的话语,当你觉得黑框框已经满足不了

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包