Ayuda para imprimir en un JTtextArea

Iniciado por unaxheolo, 30 Agosto 2015, 14:59 PM

0 Miembros y 1 Visitante están viendo este tema.

unaxheolo

Hola, a ver si alguien me ayuda. Estoy empezando con el Java y tengo un problema con un JTexarea.
Supongamos que quiero imprimir un hola mundo, pero que ocupe 20 espacios. Con una impresion por consola seria:

String x = "Hola Mundo";

System.out.println("%-20s", x);


No?, pero a la hora de hacerlo en un JTextArea me da error:

String x = "Hola Mundo";
JTextArea z = new JTextArea;

z.append("%-20s", x);


Alguien puede decirme como solucionarlo?. Muchisimas gracias.

DeMoNcRaZy

Buenas,

Puede ser por:

Código (java) [Seleccionar]
textArea = new JTextArea(5, 20);

Y si no revisa este enlace de donde lo concluir, aquí puedes ver como hacerlo.

https://docs.oracle.com/javase/tutorial/uiswing/components/textarea.html

Saludos.
Esta página web no está disponible - Google Chrome

unaxheolo

Vale, culpa mia, no me e ecxplicado bien. No es que quiera que el texarea tenga un tamaño determinado. Eso ya lo se. Es que quiero controlar que las cosas que escribo tengan el tamaño que quiero. Por ejempolo, si quiero meter datos pero que siempre ocupen 10 espacios dentro del jtextarea. Basicamente es para colocar los textos donde quiero, en el lugar preciso. Esos textos los se introducen con un formulario por lo que no se que tamaño tienen. Asi que quiero que ocupen los espacios concretos que necesito.

En resumen, no quiero que el jtextarea ocupe 20, eso ya lo se. Lo que quiero es que dentro de un jtextarea de 100, por ejemplo, el hola mundo ocupe vente espacios o caracteres.
Esepero haberme explicado ahora mejor :P

Muchas gracias por la respuesta.

0roch1

Intenta con el siguiente algoritmo que acabo de crear.

Código (java) [Seleccionar]

/**
*
* @author 0roch1
*/
public class TextoSeparado {
   private final int LIMITE = 50;
   
   public static void main(String args[]) {
       new TextoSeparado();
   }
   
   public TextoSeparado() {
       String texto = "By 0roch1";
       String resultado = separarTexto(texto);
   }
   
   private String separarTexto(String texto) {
       String resultado = new String();
       int tamano_texto = texto.length();
       System.out.println("El texto \"" +texto + "\" contiene " + tamano_texto + " caracteres");
       System.out.println("Se cuenta con un espacio limite de " + LIMITE + " caracteres");
       if( tamano_texto < LIMITE ) {
           if( (tamano_texto * 2) - 1 < LIMITE ) {
               int espacios = 1;
               espacios = (int)( (LIMITE - tamano_texto)/(tamano_texto - 1) );
               System.out.println("Se agregara(n) " + espacios + " espacio(s) en blanco despues de cada caracter (excepto el ultimo)");
               for(int indice = 0; indice < tamano_texto; indice ++){
                   char c = texto.charAt(indice);
                   resultado+=Character.toString(c);
                   
                   for(int espacio = 0; espacio < espacios && resultado.length()<LIMITE; espacio++) {
                       resultado+=" ";
                   }
               }
               System.out.println(resultado);
               System.out.println("El resultado contiene " + resultado.length() + " caracteres");
           }else {
               resultado = texto;
           }
       }else {
           resultado = texto;
       }
       
       return resultado;
   }
}


Saludos.