在UMLGraph中更改EdgeFontSize

时间:2019-07-02 17:14:47

标签: uml umlgraph

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

请注意,选项@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;
}

结果

enter image description here

1 个答案:

答案 0 :(得分:1)

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

double edgeFontSize = 10;

因此,将其设置为特定的恒定值。另外,您还可以看到edgeFontName被声明为

字符串edgeFontName = Font.DEFAULT_FONT;

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

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

我真的希望能有所帮助!