Comment puis-je ajouter de l'espace à un JPanel, de sorte que Jscrollpane ne reste pas assis sur mes composants?

StackOverflow https://stackoverflow.com/questions/6059155

Question

J'ai un jscrollpane et lorsque je charge mon application, la barre est assise sur l'un de mes boutons.Ce que je voudrais faire, c'est ajouter de l'espace sur le côté de mon bouton afin que la barre de défilement dessine sur l'espace et non mon bouton.

exemple de code que j'ai essayé:

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

Le problème avec ce code est qu'il écrase toujours mon bouton et aucun espace n'est ajouté.Quelle est la meilleure façon de vous assurer que JScrollPane ne chevauche pas les composants de mon jframe?

merci

Était-ce utile?

La solution

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

Autres conseils

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top