Hi ho, ich mal wieder ^^
Bin gerade dabei mir ein Rechteck hinter einem staendig veraendernden Text anzeigen zu lassen. Problem ist das er die Textgroesse nicht richtig annimt.
Nutz ich zb
Bekomm ich ne tolle Fehlermeldung:
WEnn ich in den java source schaue weiss ich auch warum. Denn die stringWidth ruft die CharWidth auf und umgekehrt, KA hab auch schon gegoogelt is wohl irgend nen Bug bei Java?
Nunja also hab ich folgendes probiert
Jedoch musste ich, wie man sieht, mit 50 multiplizieren das man ueberhaupt nen Rechteck sieht. Nun passt es nur solange ich nicht die Kamera rein oder rauszoome. Dit Textgroesse bleibt gleichgross und wird nicht mit raus oder reingezoomt wie der Rest der gezeichneten Linien etc.
Vielleicht hat ja jemand von euch eine Idee wie ich es loesen koennte.
Bin gerade dabei mir ein Rechteck hinter einem staendig veraendernden Text anzeigen zu lassen. Problem ist das er die Textgroesse nicht richtig annimt.
Nutz ich zb
Java:
final FontMetrics fm = planarGraphics2D.getFontMetrics( planarGraphics2D.getFont() );
final int width = fm.stringWidth( text );
Render exception: javax.media.opengl.GLException: java.lang.StackOverflowError
javax.media.opengl.GLException: java.lang.StackOverflowError
...
Caused by: java.lang.StackOverflowError
at java.awt.FontMetrics.charsWidth(FontMetrics.java:370)
at java.awt.FontMetrics.stringWidth(FontMetrics.java:343)...
WEnn ich in den java source schaue weiss ich auch warum. Denn die stringWidth ruft die CharWidth auf und umgekehrt, KA hab auch schon gegoogelt is wohl irgend nen Bug bei Java?
Nunja also hab ich folgendes probiert
Java:
final FontRenderContext frc = planarGraphics2D.getFontRenderContext();
final Font font = planarGraphics2D.getFont();
final Rectangle2D bounds = font.getStringBounds( text, frc );
final int textWidth = (int)bounds.getWidth()*50;
final int textHeight = (int)bounds.getHeight()*50;
Vielleicht hat ja jemand von euch eine Idee wie ich es loesen koennte.
Zuletzt bearbeitet: