How to determine the length of a graphic string?

前端 未结 5 2060
难免孤独
难免孤独 2020-12-11 03:49

I\'m creating a graphical timeline out of an excel document and I need to have small tags of the name of the event next to the marker for that event. Some of these are easy

相关标签:
5条回答
  • 2020-12-11 04:09

    This thread explains how to do it: Calculate the display width of a string in Java

    You should first get the font metrics, and then ask the metrics how wide a certain string is.

    0 讨论(0)
  • 2020-12-11 04:13

    and another good alternative is SwingUtilities#computeStringWidth(FontMetrics fm, String str)

    0 讨论(0)
  • 2020-12-11 04:18

    As a (read: my ;-) general rule, never use the Graphics-level drawString methods. Instead, use a JLabel/CellRendererPane pair to "stamp" the text onto whatever component.

    The advantages

    • anti-alias is handled automagically
    • size calculations are done in the labels' bowels, so positioning calculations dont require any low-level methods but simply based on the labels' prefSize
    0 讨论(0)
  • 2020-12-11 04:26

    TextLayout, shown here, is another alternative.

    0 讨论(0)
  • 2020-12-11 04:34

    from a java.awt.Graphics object, you can call getFontMetrics. the FontMetrics object has a getStringBounds method that does what you need.

    here's the documentation

    0 讨论(0)
提交回复
热议问题