2010-12-13 4 views
0

Je viens d'un projet Opengl et je dois pouvoir placer des éléments sur mon écran et qu'ils restent là.Swing Layout: Empêche le déplacement de mes composants

Je crée une applet qui est de la même taille que le projet original opengl (800 * 480) et je veux être en mesure de placer un bouton 150 * 50 au coordonnées 100,200.

tout fonctionne bien util un événement déclenche une setSize, puis tout à coup est déclenché la mise en page() et faire mon bouton déplacer vers le centre de l'écran ...

comment puis-je travailler autour de cela?

Je remplaçant actuellement la mise en page() de mes JPanel, mais il ne se sent pas bien ^^

Répondre

1

Lisez le tutoriel Swing sur Using Layout Managers. Il est fortement recommandé d'apprendre à utiliser efficacement les gestionnaires de disposition et d'éviter d'essayer de positionner manuellement les composants. Les débutants ne comprennent pas comment utiliser efficacement les gestionnaires de disposition et tentent d'utiliser le placement manuellement.

Cependant, le tutoriel a une section sur "Absolute Positioning" qui vous aidera. Toutefois, en général, cela ne devrait être utilisé que lorsque vous avez une fonction glisser-déposer.

+0

hehe pas un débutant complet, juste un temps très long. En ce qui concerne le placement manuel, je crée un éditeur en ligne pour un jeu Android, donc 90% dépendra de l'endroit où l'utilisateur cliquera ... donc pas super pour les mises en page. Comme j'ai 3 boutons dans mon interface (le reste étant dans les menus) j'ai besoin d'un positionnement absolu. Merci pour le lien –

1

Par défaut, un JPanel utilisera un FlowLayout. Vous seriez mieux avec quelque chose d'autre, par exemple un BorderLayout, mais il y a un certain nombre à choisir. Remplacez-.: par exemple

panel.setLayout(new BorderLayout()); 

Vous pouvez définir une bordure autour de votre bouton avec setBorder.

+0

Oui, j'ai remarqué la classe Flowlayout dans mon thread dans le débogage. Malheureusement, l'applet que je crée ne fonctionnera pas avec un Layout –

Questions connexes