Objectif : On compare l'implantation de quelques propriétés, méthodes et événements des composants Swing JCheckBox, JRadioButton et des composants Delphi TCheckBox, TRadioButton.
IntroductionLa programmation des zones de texte multi-ligne en Delphi et en Java-Swing est identique à celle des zones de texte mono-ligne. Ces deux classes autorisent la manipulation de plusieurs lignes de texte en entrée/sortie avec comme les autres composants la variation des spécifications de la police de caractères.
Delphi
- La classe TCheckBox représente une case à cocher de Window, un composant TCheckBox propose une option à l'utilisateur. L'utilisateur peut activer la case à cocher pour sélectionner l'option, ou la désélectionner en décochant la case. Les cases à cocher sont indépendantes les unes des autres, c'est-à-dire que plusieurs cases à cocher d'un même conteneur (fenêtre, panneau,...) peuvent être sélectionnées en même temps.
- La classe TRadioButton encapsule un bouton radio Windows, les boutons radios appartenant au même conteneur (fenêtre, panneau,...) fonctionnent par exclusions de sélections mutuelles, c'est-à-dire qu'un seul bouton radio d'un groupe peut être sélectionné à la fois à un moment donné.
Java-Swing
Propriétés :
- La classe JCheckBox représente, identiquement à la classe TCheckBox, une case à cocher de Windows. Les cases à cocher Swing sont indépendantes les unes des autres, c'est-à-dire que plusieurs cases à cocher d'un même conteneur (fenêtre, panneau,...) peuvent être sélectionnées en même temps.
- La classe JRadioButton, identiquement à la classe TRadioButton, encapsule un bouton radio Windows. Les boutons radios Swing appartenant au même conteneur (fenêtre, panneau,...) sont indépendantes les unes des autres, c'est-à-dire que plusieurs cases à cocher d'un même conteneur (fenêtre, panneau,...) peuvent être sélectionnées en même temps.
- Il est possible de panacher des cases à cocher et des boutons radios Swing dans un même groupe de boutons afin que ceux-ci fonctionnent par exclusions de sélections mutuelles, c'est-à-dire qu'un seul bouton radio ou case à cocher du groupe peut être sélectionné à la fois à un moment donné. Il faut pour réaliser cette exclusion mutuelle, utiliser un objet de classe ButtonGroup à qui l'on ajoutera tous les boutons choisis.
Propriété TCheckBox et TRadioButton
( Delphi )JCheckBox et JRadioButton
(Swing)Changer la police, la taille ou le style 'Font'
checkBox1.Font.Name:='Serif';
radioButton1.Font.Name:='Serif';'setFont'
jcheckBox1.setFont(Font.decode( "Serif") );
jradioButton1.setFont(Font.decode("Serif"));Texte identifiant le composant 'Caption' (string)
checkBox1.Caption:='Toto';
radioButton1.Caption:='Toto';'Text'
jcheckBox1.setText("Toto");
jradioButton1.setText("Toto");Changer la couleur du texte 'Font'
checkBox1.Font.Color:=clRed;
radioButton1.Font.Color:=clRed;'Foreground'
jcheckBox1.setForeground(Color.red);
jradioButton1.setForeground(Color.red);Cocher la case 'Checked':boolean
checkBox1.Checked := true;
radioButton1.Checked := true;'setSelected'
jCheckBox1.setSelected(true);
jradioButton1.setSelected(true);
Nous proposons une seule méthode pratique intéressante :
Méthode TCheckBox et TRadioButton
( Delphi )JCheckBox et JRadioButton
(Swing)tester si le bouton radio ou la case est coché 'Checked':boolean en lecture donne l'état de la case ou du radio bouton. 'isSelected()' renvoie un booléen indiquant l'état de sélection de la case ou du radio bouton
....jCheckBox1.isSelected( );
....jradioButton1.isSelected( );
Événement TCheckBox et TRadioButton
( Delphi )JCheckBox et JRadioButton
(Swing)Click sur une case à cocher ou un bouton radio OnClick: Permet de répondre au clic sur le composant. mouseClicked: se produit lorsque le bouton de la souris est enfoncé et relaché sur le composant. actionPerformed: intercepte par défaut le click de souris. A utiliser lorsque l'on veut obtenir par exemple des informations sur la commande d'action associée au bouton (l'écouteur est de classe ActionListener).
Entrée dans le champ du composant OnEnter: Se produit lorsque le composant reçoit la focalisation (clavier ou souris). mouseEntered: Ici, l'événement se produit effectivement lorsqu'on vient se positionner sur le composant.(écouteur de classe MouseAdapter). focusGained : cet événement se produit lorsqu'un bouton obtient le focus à partir du clavier (écouteur de classe FocusAdapter).
Sortie du composant OnExit: se produit uniquement quand un autre composant est sélectionné c'est à dire quand le composand perd la focalisation. mouseExited: se produit effectivement dés qu'on sort du champ du composant (écouteur de classe MouseAdapter). focusLost : cet événement se produit lorsque le composant perd le focus à partir du clavier (touche tabulation par exemple) ou de la souris (écouteur de classe FocusAdapter).
Enfoncer une touche OnKeyDown keyPressed Relacher la touche OnKeyUp keyReleased Enfoncer et relacher une touche OnkeyPress keyTyped Enfoncer le bouton de souris sur le composant OnMouseDown: se produit quand le bouton gauche de la souris est enfoncé. mousePressed: strictement équivalent à OnMouseDown de Delphi (écouteur de classe MouseAdapter). Relacher le bouton de souris OnMouseUp: quand le bouton de la souris est relaché. mouseReleased: même chose que OnMouseUp (écouteur de classe MouseAdapter). Déplacer le curseur sur le composant OnMouseMove: se produit quand le curseur vient sur le composant mouseMoved: même chose que OnMouseMove (écouteur de classe MouseAdapter).