Изменение EdgeFontSize в UMLGraph - PullRequest
1 голос
/ 02 июля 2019

Я пытаюсь изменить размер шрифта для текста ассоциации в 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;
}

Результат

enter image description here

1 Ответ

1 голос
/ 04 июля 2019

Если вы откроете класс Options (файл Options.java) пакета UMLGraph, вы увидите, что edgeFontSize объявлен как

double edgeFontSize = 10;

Таким образом, для него установлено определенное постоянное значение.Кроме того, вы также можете видеть, что edgeFontName объявлен как

Stringразмер шрифта по умолчанию, и это причина того, что размер не изменился, когда вы установили его на 22. С другой стороны, edgeFontName не фиксируется с конкретным значением, и поэтому он изменяется, когда вы выбираете «Курьер Новый курсив» или «Arial»и т. д.

В заключение, один из способов решения этой проблемы состоит в том, что вы определяете другое значение для edgeFontSize (например, 22) или объявляете edgeFontSize аналогично, как edgeFontName.Это ваш вызов.

Я очень надеюсь, это поможет!

...