gpt4 book ai didi

java - 用于 Java 的 UML 绘图 API

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:11 29 4
gpt4 key购买 nike

我正在寻找可以绘制 UML 类图并将它们呈现在窗口应用程序的 JPanel(或任何其他合适的 UI 实体)中的 API。它必须嵌入到应用程序中,所以我不是在寻找可以基于 java 文件或某些插件生成 UML 的独立工具。我需要可以实现的实际 jar 来创建类图,这样我就可以在窗口应用程序中使用它们。我已经研究了几个,但我发现的所有来源要么是独立程序,要么不能在应用程序中实现,需要将用户的注意力从应用程序上移开。我使用的是 NetBeans IDE,但我也安装了 Eclipse。

已解决:

我使用了 PlantUML API。我根据 PlantUML 输入语言语法手动输入一个字符串,然后使用简单直接的 generateImage 方法填充一个字节数组,然后将其转换为图像并保存到我的桌面。这符合我的要求,因为它让用户专注于我的应用程序和我的应用程序。或者,可以在窗口或其他东西上生成缓冲图像。需要将 PlantUML API 导入到应用程序包中。这段代码在我的桌面上创建了一个图像(不要忘记更改目录路径),其中包含一个类的 UML 类图像,Person:

public class PaintUML {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException, InterruptedException {
// TODO code application logic here
ByteArrayOutputStream bous = new ByteArrayOutputStream();
String source = "@startuml\n";
source += "class Person {\n";
source += "String name\n";
source += "int age\n";
source += "int money\n";
source += "String getName()\n";
source += "void setName(String name)\n";
source += "}\n";
source += "@enduml\n";

SourceStringReader reader = new SourceStringReader(source);
// Write the first image to "png"
String desc = reader.generateImage(bous);
// Return a null string if no generation
byte [] data = bous.toByteArray();

InputStream in = new ByteArrayInputStream(data);
BufferedImage convImg = ImageIO.read(in);

ImageIO.write(convImg, "png", new File("C:\\Users\\Aaron\\Desktop\\image.png"));

System.out.print(desc);
}
}

最佳答案

你看过 PlantUML 吗?

http://plantuml.sourceforge.net

它是开源的,因此您可以选择一些适合的部分。

关于java - 用于 Java 的 UML 绘图 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954373/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com