2012-04-23 327 views
5

Como dice el título, simplemente intento establecer los márgenes (proporcionar algo de relleno) en un TextArea con un conjunto LineBorder. Sin configurar el borde, .setMargins funciona bien. Aquí está el trozo específico de código.Java Swing: configuración de márgenes en TextArea con Line Border

aboutArea = new JTextArea("program info etc....."); 

Border border = BorderFactory.createLineBorder(Color.BLACK); 

aboutArea.setSize(400, 200); 
aboutArea.setBorder(border); 
aboutArea.setEditable(false); 
aboutArea.setFont(new Font("Verdana", Font.BOLD, 12)); 

add(aboutArea); 

He tratado cada uno de estos:

aboutArea.setMargins(10,10,10,10); 
.getBorders(aboutArea).set(10,10,10,10); 
UIManager.put("aboutArea.margin", new Insets(10, 10, 10, 10)); 

pero nada afecta los márgenes después de aplicar la frontera, el relleno es siempre 0. Alguna idea de cómo establecer el relleno en la caja de texto con el ¿frontera?

+2

La clave para el margen de '' JTextArea' es "TextArea.margin "'. – trashgod

Respuesta

26

¿Qué pasa si se intenta añadir un CompoundBorder, no esta DO, esto le dará casi lo mismo

JTextArea tarea = new JTextArea("program info etc."); 
Border border = BorderFactory.createLineBorder(Color.BLACK); 
tarea.setBorder(BorderFactory.createCompoundBorder(border, 
      BorderFactory.createEmptyBorder(10, 10, 10, 10))); 

CHECK THE MIDDLE JTextArea as OUTPUT

+1

@Daniel todo depende de si JTextArea está o no dentro de JScrollPane +1 – mKorbel

+1

+1, pero (se inclina la cabeza) en cuanto a la captura de pantalla, ¿por qué no poner la GUI delante de un BG blanco? P.EJ. Ctrl-t Mientras estoy en FF y obtengo un espacio en blanco de más de la mitad del tamaño de la pantalla. Para obtener más consejos, consulte [¿Cómo creo capturas de pantalla?] (Http://meta.stackexchange.com/questions/99734/how-do-i-create-a-screenshot-to-illustrate-a-post) –

+1

@ mKorbel Me recordó que generalmente agrego el componente a un 'JPanel' y luego establezco el borde en el panel. Funciona sin problemas para paneles de desplazamiento, botones, etiquetas ... –