Como CENTRAR texto en JTextPane
Publicado por smilodon (1 intervención) el 13/04/2006 23:46:49
Hola a todos!!! Ya analicé documentación de SUN acerca de JTextPane, también su ejemplo TextSamplerDemo en http://java.sun.com/docs/books/tutorial/uiswing/components/text.html
Ahora,tengo problemas para centrar un texto en un JTextPane:
¿Esta bien esta parte en particular del codigo?
Style estiloRegular = doc.addStyle("regular",porDefecto);
StyleConstants.setFontFamily(porDefecto, "SansSerif");
Encontré en otros ejemplos,
que en vez de declarar como Style
declaran como SimpleAttributeSet
¿Es lo mismo?
Saludos!
Aqui les mando el codigo simplificado,
//****************************************
private JTextPane crearTexto()
{
JTextPane jtpTexto = new JTextPane();
String[] strTexto =
{
"Primera linea del texto" + "\n",
"Segunda linea del texto"
};
String[] strEstilosTexto =
{
"tituloPpal",
"titulo1"
};
StyledDocument docTitulos = jtpTexto.getStyledDocument();
agregarEstilosDocumento(docTitulos);
try
{
for (int i=0; i<strTitulos.length; i++)
{
docTitulos.insertString(docTitulos.getLength(),
strTitulos[i],
docTitulos.getStyle(strEstilosTitulos[i]));
}
}
catch (BadLocationException ble)
{
System.err.println("No es posible crear los títulos principales.");
}
return jtpTexto;
}
//****************************************
protected void agregarEstilosDocumento(StyledDocument doc)
{
Style porDefecto = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
Style estiloRegular = doc.addStyle("regular",porDefecto);
StyleConstants.setFontFamily(porDefecto, "SansSerif");
Style nuevoEstilo = doc.addStyle("tituloPpal", estiloRegular);
StyleConstants.setAlignment(nuevoEstilo, StyleConstants.ALIGN_CENTER);
StyleConstants.setBold(nuevoEstilo,true);
StyleConstants.setFontSize(nuevoEstilo, 16);
nuevoEstilo = doc.addStyle("titulo1", estiloRegular);
StyleConstants.setBold(nuevoEstilo,true);
StyleConstants.setFontSize(nuevoEstilo,13);
StyleConstants.setAlignment(nuevoEstilo, StyleConstants.ALIGN_CENTER);
}
//****************************************
Ahora,tengo problemas para centrar un texto en un JTextPane:
¿Esta bien esta parte en particular del codigo?
Style estiloRegular = doc.addStyle("regular",porDefecto);
StyleConstants.setFontFamily(porDefecto, "SansSerif");
Encontré en otros ejemplos,
que en vez de declarar como Style
declaran como SimpleAttributeSet
¿Es lo mismo?
Saludos!
Aqui les mando el codigo simplificado,
//****************************************
private JTextPane crearTexto()
{
JTextPane jtpTexto = new JTextPane();
String[] strTexto =
{
"Primera linea del texto" + "\n",
"Segunda linea del texto"
};
String[] strEstilosTexto =
{
"tituloPpal",
"titulo1"
};
StyledDocument docTitulos = jtpTexto.getStyledDocument();
agregarEstilosDocumento(docTitulos);
try
{
for (int i=0; i<strTitulos.length; i++)
{
docTitulos.insertString(docTitulos.getLength(),
strTitulos[i],
docTitulos.getStyle(strEstilosTitulos[i]));
}
}
catch (BadLocationException ble)
{
System.err.println("No es posible crear los títulos principales.");
}
return jtpTexto;
}
//****************************************
protected void agregarEstilosDocumento(StyledDocument doc)
{
Style porDefecto = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
Style estiloRegular = doc.addStyle("regular",porDefecto);
StyleConstants.setFontFamily(porDefecto, "SansSerif");
Style nuevoEstilo = doc.addStyle("tituloPpal", estiloRegular);
StyleConstants.setAlignment(nuevoEstilo, StyleConstants.ALIGN_CENTER);
StyleConstants.setBold(nuevoEstilo,true);
StyleConstants.setFontSize(nuevoEstilo, 16);
nuevoEstilo = doc.addStyle("titulo1", estiloRegular);
StyleConstants.setBold(nuevoEstilo,true);
StyleConstants.setFontSize(nuevoEstilo,13);
StyleConstants.setAlignment(nuevoEstilo, StyleConstants.ALIGN_CENTER);
}
//****************************************
Valora esta pregunta


0