Как добавить JLabel к графику JUNG?

Я пытаюсь добавить метку к моему графику, но не могу вывести ее из центрального положения по умолчанию. Это то, что у меня сейчас есть в моем методе обновления (он обновляет дисплей):

Graph<String, String> graph = getGraph();
BasicVisualizationServer<String, String> vv = getViewer(graph);
frame.getContentPane().removeAll();
frame.getContentPane().add(vv);
JLabel label = new JLabel("<html>ndp: blue<br>mdp: dark green</html>", JLabel.LEFT);
vv.add(label);
frame.pack();

Он показывает метку, но не помещает ее слева, независимо от того, к чему я прикрепляю метку или как я указываю, что ее нужно оставить... Что я делаю неправильно?


person Josh    schedule 29.04.2012    source источник


Ответы (2)


Просто мысль, но попробуйте запрограммировать, как далеко от верха, низа, левого и правого и настроить оттуда. Если вы используете Eclipse и WindowBuilder, для начала вы увидите код того, как он программирует положение вещей. Я считаю, что он использует СЕВЕР, ЮГ, ВОСТОК, ЗАПАД вместо предыдущих направлений для размещения компонентов. Оттуда вы сможете настроить значения (программно) и разместить JLabel там, где вы хотите.

person Community    schedule 29.04.2012

Это некрасиво, но я исправил это, просто добавив много неразрывных пробелов в одну строку содержимого метки (Alt+0160), что расширило ширину метки примерно до размера окна, поэтому, когда она расположена по центру, текст выровнен по левому краю. setSize() не работает.

person Josh    schedule 29.04.2012