2009-06-13 9 views
6

Esto es lo que necesito en mi juego en relación con el texto:¿Alguien sabe de una biblioteca de texto java2d?

Word Wrap Support given a bounding box 
Vertical and Horizontal alignment given a bounding box 

Ahora, he estado leyendo acerca de cómo usar TextLayout, y parece posible escribir todo esto a mí mismo, pero yo prefiero pensar en un nivel superior Sólo quiero una clase de etiqueta con una firma como esta:

public Label(String text, Alignment alignment, VAlignment vAlignment); 

¿Alguien sabe de una biblioteca de código abierto (no-GPL) por ahí que hace que el formato de texto simple?

+0

¿Está utilizando métodos personalizados de pintura() o componentes Swing? – akarnokd

+0

Estoy usando java2d, así que estoy usando métodos personalizados de paint(). –

+1

Creo que la mayoría de los programas gráficos simplemente han creado su propia representación de texto. Para un control máximo, puede implementar su propia versión usando String.split(), FontMetrics, etc. – akarnokd

Respuesta

1

Si usa java2d para pintar los gráficos de su juego, debería poder utilizar los componentes de texto awt o swing para representar su texto. Podría, por ejemplo, crea un JLabel y llama a su pintura y actualiza los métodos manualmente en tu cola de renderizado con tu contexto Graphics2D.

JLabel label = new JLabel("your text"); 
label.setLocation(0, 100); 
label.setSize(20, 100); 
label.paint(g); // g is your Graphics2D context 
0

Después de experimentar con @ respuesta de Daniel, llegué a la siguiente solución:

JLabel label = new JLabel("your text"); 
    label.setSize(screen); //screen is a Dimension Object.. 
    label.setHorizontalAlignment(SwingConstants.CENTER); 
    label.paint(g2d); // g is your Graphics2D context 

creo que sirve ...

Cuestiones relacionadas