2011-12-28 16 views

Respuesta

10

Un par de JLabel constructores toman argumentos de alineación horizontal. Estos constants se heredan de SwingConstants.

+0

Sí, eso es correcto. Pero digamos que tengo 100 JLabels. Cuando alinearlos a la derecha con el constructor, y decidir cambiar eso a alineación a la izquierda, tendré que hacerlo cien veces a mano. ¿Hay alguna manera de alinearlos todos con un solo movimiento desde el nivel de administrador de diseño? –

+0

Si no está dispuesto a encapsular dicha lógica, use la ['setAlignmentY'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setAlignmentY%28float%29) método. Así es como un contenedor puede establecer la alineación horizontal de cualquier instancia de 'JComponent' (por ejemplo,' JLabel'). – mre

+0

@Noran puede crear clases o anular con parámetros que devuelvan JLabel, puede usar SwingConstant, JLabel # possition, o usando Html <= 3.2 +1 – mKorbel

22

@Noran En respuesta a su comentario sobre la respuesta de @ mre, puede inicializar todos los JLabels en una matriz. Entonces, todo lo que tendrías que hacer es recorrer la matriz y establecer la alineación de esa manera.

for (JLabel label: arrayOfJLabels) { 
    label.setHorizontalAlignment(SwingConstants.LEFT); 
} 
+0

Esta debería ser la respuesta correcta. –

1

He leído su pregunta y tengo una sugerencia. Hay algunos métodos para cumplir con su requisito. Dado que usted no mencionó los requisitos exactos, te puedo dar un ejemplo sencillo como yo lo entiendo:

//create a JLabel and name it as jLabel2 
javax.swing.JLabel jLabel2 = new javax.swing.JLabel(); 
jLabel2.setText("Dehans Label"); 
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); 

Consulte siguiendo métodos @JLabel clase en la API JavaSE través de los siguientes enlaces:

+0

Lo mejor es vincular a la última versión de los JavaDocs. He editado su respuesta para que apunte a J2SE 7. Para obtener sugerencias sobre cómo obtener un enlace a los últimos documentos, consulte [punto 2 de ventajas] (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) . –