Pregunta

Tengo un jscrollpane y cuando carga mi aplicación, la barra está sentada en la parte superior de uno de mis botones.Lo que me gustaría hacer es agregar un poco de espacio al lado de mi botón para que la barra de desplazamiento se extraiga sobre el espacio y no en mi botón.

Código de ejemplo que intenté:

JPanel eButton = new JPanel(new BorderLayout());
JPanel spaceFiller = new JPanel();
spaceFiller.setSize(30, 10);
eButton.add(editButton, BorderLayout.EAST);
eButton.add(spaceFiller, BorderLayout.WEST);

El problema con este código es que aún sobrescribe mi botón y no se agrega espacio.¿Cuál es la mejor manera de asegurarse de que JScrollpane no se superponen a los componentes en mi JFrame?

gracias

¿Fue útil?

Solución

To ensure that the size of the JPanel is respected you should use setPreferredSize() instead of setSize().

Otros consejos

In your sample code, didn't you reverse EAST and WEST? Shouldn't it be like:

eButton.add(editButton, BorderLayout.WEST); 
eButton.add(spaceFiller, BorderLayout.EAST); 

That would make more sense, sicne the scrollbar will appear on the right side (EAST).

Please note that the solution you suggest, even though it may work (after exchanging EAST and WEST) looks more like a hack than a real solution.

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