2017-05-07 2 views
0

J'apprends l'AWT. J'ai ajouté un panneau à l'intérieur du cadre. J'ai fixé des limites au panneau de sorte qu'il reste au fond. Mais quand je maximise ou minimise, le panneau est réinitialisé au centre supérieur. Est-ce un comportement normal? Y a-t-il des événements pour minimiser ou maximiser?Pourquoi le panneau ajouté à l'intérieur de Frame atteint-il une position par défaut lorsqu'il est agrandi ou minimisé?

+0

Quel gestionnaire de mise en page que vous utilisez? –

+0

* "J'ai défini des limites sur le panneau de sorte qu'il reste en bas." * N'utilisez pas de limites, utilisez la contrainte de mise en page 'BorderLayout.PAGE_END'. Les interfaces graphiques Java doivent fonctionner sur différents systèmes d'exploitation, taille d'écran, résolution d'écran, etc., en utilisant différents PLAF dans différents environnements locaux. En tant que tels, ils ne sont pas propices à la mise en page pixel parfait. Utilisez plutôt des gestionnaires de disposition, ou [des combinaisons de ceux-ci] (http://stackoverflow.com/a/5630271/418556) avec un remplissage de mise en page et des bordures pour [espace blanc] (http://stackoverflow.com/a/17874718/ 418556). –

Répondre

0

J'apprends l'AWT.

Pourquoi? Il a été remplacé par Swing il y a dix ans. Certaines personnes pourraient même prétendre que le Swing a été remplacé par JavaFX.

Dans tous les cas, vous avez reçu un lien dans votre dernière question (que vous avez maintenant supprimé) au tutoriel Swing. Pourquoi n'avez-vous pas lu le tutoriel? Les concepts de base de Swing et AWT sont les mêmes, puisque Swing est construit sur AWT, donc en lisant le tutoriel Swing, vous apprendrez beaucoup de concepts AWT. Dans la plupart des cas, la différence est le nom de la classe de composant.

le panneau est réinitialisé à la partie centrale supérieure. Est-ce un comportement normal?

Oui, Swing (et AWT) fonctionne avec les gestionnaires de disposition. Le gestionnaire de disposition est responsable de la détermination de la taille et de l'emplacement d'un composant. N'essayez pas de définir manuellement la taille ou l'emplacement d'un composant.

Y a-t-il des événements à minimiser ou à maximiser?

Oui, vous pouvez utiliser un WindowListener.

Lire le Swing tutorial. Vous trouverez des sections sur:

  1. Utiliser le gestionnaire de mise en page
  2. Comment écrire un WindowListener