Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: unaxheolo en 30 Agosto 2015, 14:59 PM

Título: Ayuda para imprimir en un JTtextArea
Publicado por: unaxheolo en 30 Agosto 2015, 14:59 PM
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.
Título: Re: Ayuda para imprimir en un JTtextArea
Publicado por: DeMoNcRaZy en 30 Agosto 2015, 15:31 PM
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 (https://docs.oracle.com/javase/tutorial/uiswing/components/textarea.html)

Saludos.
Título: Re: Ayuda para imprimir en un JTtextArea
Publicado por: unaxheolo en 30 Agosto 2015, 15:41 PM
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.
Título: Re: Ayuda para imprimir en un JTtextArea
Publicado por: 0roch1 en 4 Septiembre 2015, 19:17 PM
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.
Título: Re: Ayuda para imprimir en un JTtextArea
Publicado por: someRandomCode en 5 Septiembre 2015, 01:21 AM
O podes usar explode()