Pregunta

Tengo un JLabel (en realidad, es un JXLabel).

He puesto un icono y texto en él.

<icon><text>

Ahora deseo agregar algo de espacio en el lado izquierdo del componente, así:

<space><icon><text>

NO acepto sugerencias para mover JLabel o agregar espacios modificando la imagen.

Solo quiero saber cómo hacerlo con código Java simple.

¿Fue útil?

Solución

¡He encontrado la solución!

setBorder(new EmptyBorder(0,10,0,0));

¡Gracias a todos!

Otros consejos

Esto es así: no es muy claro, pero puede agregar espacio agregando un borde transparente de cierto ancho a la etiqueta

Si está tratando de empujar la etiqueta hacia un lado de su contenedor, puede agregar un pegamento. Algo como esto:

JPanel panel = new JPanel();
panel.setLayoutManager(new BoxLayout(panel, BoxLayout.LINE_AXIS);

panel.add(new JLabel("this is your label with it's image and text"));

panel.add(Box.createHorizontalGlue());

Aunque su pregunta no es muy clara.

No necesita modificar el tamaño preferido de JLabel, puede usar el GridBagLayout Manager para especificar separaciones entre componentes, solo tiene que usar GridBagLayout en el contenedor y agregarle JXLabel con un objeto GridBagConstraints especificando las inserciones a la izquierda:

JPanel panel=new JPanel(new GridBagLayout());
JLabel label=new JLabel("xxxxx");

GridBagConstraints constraints=new GridBagConstraints();

constraints.insest.left=X; // X= number of pixels of separation from the left component

panel.add(label,constraints);

Tenga en cuenta que he omitido muchas propiedades de configuración en la configuración de las restricciones, es mejor que lea la documentación de GridBagLayout

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top