1

我尝试使用 更改 UMLGraph 中关联文本的字体大小,@opt edgefontsize但似乎使用了默认字体大小。

请注意,该选项@opt edgefontname工作正常。

我上线了UMLGraph doclet version R5_7_2-32-g40b5a6

这里有一个演示 - 所有字体都增加到 22 种,但关联文本仍然很小。

/**
 * @hidden  
 * @opt postfixpackage
 * @opt nodefontclassname "Arial Bold"
 * @opt nodefontclassabstractname "Arial Italic"
 * @opt nodefontclasssize 22
 * 
 * @opt nodefontname "Arial"
 * @opt nodefontabstractname "Times New Roman Italic"
 * @opt nodefontsize 22
 * 
 * @opt nodefonttagname "Courier New Italic"
 * @opt nodefonttagsize 22
 * 
 * @opt nodefontpackagename "Comic Sans MS"
 * @opt nodefontpackagesize 22
 * 
 * @opt edgefontname "Courier New Italic"
 * @opt edgefontsize 22
 * @opt types 
 */
 class UMLOptions{} 



/**
 * @opt attributes  
 * @assoc  " "  " " parent_id B  
 */

class A {
public int id;
}

/**
 * @opt attributes    
*/  
class B {
public int id;
}

结果

在此处输入图像描述

4

1 回答 1

1

如果你打开 UMLGraph 包的 Options 类(文件 Options.java)你可以看到 edgeFontSize 被声明为

双边字体大小 = 10;

因此,它被设置为一个特定的常数值。另外,您还可以看到 edgeFontName 被声明为

字符串 edgeFontName = Font.DEFAULT_FONT;

因此 edgeFondSize 有一个固定值(即 10)作为默认字体大小,这就是为什么将其设置为 22 时大小没有改变的原因。另一方面,edgeFontName 没有固定为特定值,这就是为什么当您选择“Courier New Italic”或“Arial”等时,它会发生变化。

总之,处理该问题的一种方法是为 edgeFontSize 定义另一个值(例如 22)或以与 edgeFontName 类似的方式声明 edgeFontSize。它是你的电话。

我真的希望,这有帮助!

于 2019-07-03T23:47:57.330 回答