答案1
在简单查看tikz-uml.sty
文件后,我发现 apackage
被定义为两个节点(包名称和包名称标题),并且没有使用空名称的选项,因为它用于识别提及的节点。
一旦声明了节点,您就可以用TikZ
命令绘制或填充它。
以下代码展示了一些示例。避免在顶部节点中使用包名称的解决方案很棘手。我所做的是将text
颜色固定为等于fill
颜色。文本已写入,但不可见。
\documentclass[border=2mm]{standalone}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\begin{umlpackage}[fill=blue!30, text=blue!30]{pack}
\begin{umlpackage}[fill=red!30, text=red!30]{pack2}
\node {Pack 2};
\end{umlpackage}
\end{umlpackage}
\begin{umlpackage}[x=3, y=1, fill=green!30, text=green!30]{pack3}
\end{umlpackage}
\node at (pack3.center) {Test 3};
\draw[red] ([shift={(-45:1mm)}]pack2.north west) rectangle ([shift={(135:1mm)}]pack2.south east);
\draw[->] (pack-caption.center) circle (1mm) -- (pack3-caption.center) circle (1mm);
\end{tikzpicture}
\end{document}