public class TextComponent extends GUIComponent\r
{\r
private final String text;\r
+ private Point textExtent;\r
\r
public TextComponent(ViewModelModifiable model, String text)\r
{\r
@Override\r
public void render(GeneralGC gc, Rectangle visibleRegion)\r
{\r
- Point textExtent = gc.textExtent(text);\r
+ textExtent = gc.textExtent(text);\r
Color textColor = Preferences.current().getColor("net.mograsim.logic.ui.color.text");\r
if (textColor != null)\r
gc.setForeground(textColor);\r
gc.drawText(text, getPosX() - textExtent.x / 2, getPosY() - textExtent.y / 2, true);\r
}\r
\r
+ @Override\r
+ public Rectangle getBounds()\r
+ {\r
+ if (textExtent == null)\r
+ return super.getBounds();\r
+ return new Rectangle(getPosX() - textExtent.x / 2, getPosY() - textExtent.y / 2, textExtent.x, textExtent.y);\r
+ }\r
+\r
static\r
{\r
ViewLogicModelAdapter.addComponentAdapter(NoLogicAdapter.forClass(TextComponent.class));\r