• Domingo 22 de Diciembre de 2024, 22:35

Autor Tema:  Limitar Espacio De Jtextarea En Jpanel Borderlayou  (Leído 1221 veces)

ferola

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Limitar Espacio De Jtextarea En Jpanel Borderlayou
« en: Lunes 27 de Agosto de 2007, 11:12 »
0
Hola, tengo una aplicación que utiliza un JPanel. El JPanel se declara utilizando el layout borderLayout:

this.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
this.setLayout(new BorderLayout());  


Dentro del JPanel tengo varios controles, algunos alienados al norte, otros al centro y por ultimo un par de botones al sur.
El JPanel se usa dentro de una clase que implementa IWindow como sigue:

public WindowInfo getWindowInfo()
{
if (viewInfo == null)
{
viewInfo = new WindowInfo(WindowInfo.RESIZABLE);
viewInfo.setTitle(PluginServices.getText(this,"Avi so"));
viewInfo.setWidth(this.getWidth()+550);
viewInfo.setHeight(this.getHeight()+580);
return viewInfo;
}
return viewInfo;
}  

Le puse esas dimensiones pues son las que se ajustan mejor para el número de controles que tengo.
Para la zona central, dónde va el JTextArea, lo hago así:

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setBorder(new TitledBorder("Otros datos"));

JTextArea obser = new JTextArea(5, 30);
JScrollPane scrollPane = new JScrollPane (obser, JScrollPane.VERTICAL_SCTOLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

panel.add(scrollPane, BorderLayout.CENTER);

JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
p.add(panel);

this.add(p, BorderLayout.CENTER);  


El problema es que al ejecutarlo el JTextArea tiene un tamaño autodefinido por así decirlo, es decir, no tiene 2 filas ni 30 columnas, sino que llena el tamño del centro. Y aún peor, al empezar a escribir, yo quiero que al llegar al final de una línea pase a la siguiente (probé a ponerle 5 columnas y nada), por eso le puse las barras de desplazamiento, pq sino no veía lo que ponía, pero las barras me da igual tenerlas o no. Quiero como al escribir éste mensaje en forosdelweb, cambia la línea sola.

No sé si me entienden, siento un mensaje tan largo, pero no doy solucionado ésto por más vueltas que le di.
Gracias.