# Alternative zu getFontMetrics um Stringlänge zu berechnen



## Christian030783 (4. Nov 2009)

Hallo Zusammen,
ich erstelle mit iText PDFs die Tabellen enthalten. Um die optimale Spaltenbreite einzustellen berechne ich die Länge des Strings in einer Spalte folgendermaßen (das Textfeld wird nicht dargestellt, es dient nur der Größenberechnung):

```
JTextField tf = new JTextField();
tf.setFont(new java.awt.Font("Helvetica", Font.NORMAL, 10));
FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(new java.awt.Font("Helvetica", Font.NORMAL, 10));
int spaltenbreite = fm.stringWidth(text)
```
Mir wird allerdings angezeigt, dass getFontMetrics veraltet ist (deprecated). Gibt es eine Alternative um die Länge des Strings zu berechnen? Ich habe keine Lust das mein Code in der nächsten Java Version nicht mehr funktioniert, weil es die Funktion getFontMetrics nicht mehr existiert.

Vielen Dank im Vorraus


----------



## KrokoDiehl (4. Nov 2009)

Wo in deinem Code benutzt du denn dein Textfeld? Der Ansatz ist schon gut, aber statt Toolkit musst du das Textfeld nehmen:

```
JTextField  temp    = new JTextField();
FontMetrics metrics = temp.getFontMetrics( new Font(...) );
//...
```


----------



## Christian030783 (4. Nov 2009)

Danke, wenn man so lange auf den Code starrt erkennt man solche kleinen Fehler nicht mehr  so wird nicht als veraltet gekennzeichnet


```
JTextField tf = new JTextField();
tf.setFont(new java.awt.Font("Helvetica", Font.NORMAL, 10));
FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(new java.awt.Font("Helvetica", Font.NORMAL, 10));
int spaltenbreite = fm.stringWidth(text);
```


----------

