• Aucun résultat trouvé

Programmation avanc´ee et r´epartie en Java : TP 2

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation avanc´ee et r´epartie en Java : TP 2"

Copied!
2
0
0

Texte intégral

(1)

Programmation avanc´ee et r´epartie en Java : TP 2

Jean Fortin et Fr´ed´eric Gava

gava@u-pec.fr ou jean.fortin@gmail.com

1 Exercice 1 : Un premier programme Swing

1. En vous inspirant de l’exemple du cours, r´ealiser un code Java Swing qui affiche un message. Compiler et ex´ecuter.

2. Changer le composant entre JLabel, JButton, JTextField.

3. Changer la couleur de fond, la couleur du texte, la police du texte (m´ethodes setBack- ground, setForeground, setFont ,...)

2 Exercice 2 : LayoutManagers

Compiler, ex´ecuter et comprendre l’exemple suivant utilisant un BorderLayout et un FlowLayout (le code soit ˆetre plac´e dans un fichierTestBorderLayoutFrame.java, du nom de la classe publique) :

package tp1;

import java.awt.*;

import javax.swing.*;

class BorderLayoutFrame extends JFrame {

protected JButton rep = new JButton("R´epondre");

protected JButton prec = new JButton("Pr´ec´edent");

protected JButton suiv = new JButton("Suivant");

public BorderLayoutFrame() {

setLayout(new BorderLayout(5, 5));

String descr = "Description";

JLabel label = new JLabel(descr);

this.add(label, BorderLayout.NORTH);

JTextArea jt = new JTextArea("Un exemple d’utilisation de LayoutManager.", 3, 50);

this.add(new JScrollPane(jt), BorderLayout.CENTER);

JPanel flowPanel = new JPanel(new FlowLayout());

flowPanel.add(rep);

flowPanel.add(prec);

flowPanel.add(suiv);

this.add(flowPanel, BorderLayout.SOUTH);

}

1

(2)

}

public class TestBorderLayoutFrame {

public static void main(String args[]) {

BorderLayoutFrame frame1 = new BorderLayoutFrame();

frame1.pack();

frame1.setVisible(true);

} }

3 Exercice 3

1. R´ealiser en Swing un formulaire comprenant un champ de saisie, un bouton et une plage de texte (pour afficher la r´eponse `a la question). Utilisez un (ou plusieurs, si besoin) LayoutManagers.

2. Faire en sorte que lorsque l’on a valid´e une question dans le champ de saisie, on affiche un ´echo de cette question dans le composant r´eponse. Pr´ecision : la production de la r´eponse doit ˆetre d´eclench´ee quand on “appuie” sur le bouton JButton ET quand on

“valide” le champs de saisie JTextField (en appuyant sur la touche ENTER). Quel est le type d’´ev´enement qui permet de g´erer ces deux actions de la mˆeme mani`ere ? 3. Application. Faire en sorte que les saisies soient de la forme :

– cos 0.51 – sin 0.24 – . . .

(donc en g´en´eral : fonctionvaleur_double). Afficher le r´esultat du calcul (java.lang.Math).

Pour analyser la chaˆıne utiliser un java.util.StringTokenizer. Pour r´ealiser la transfor- mation chaˆıne - double voir la classe java.lang.Double.

4 Exercice 4

1. R´ealiser une page d’authentification comprenant :

– Deux labels (noms, mot de passe) et les zones de saisies associ´ees – Deux boutons (Valider, Annuler)

2. V´erifier que les champs sont bien saisis lorsque l’utilisateur clique sur le bouton Valider.

3. Effacer le contenu des champs lorsque l’utilisateur clique sur Annuler.

2

Références

Documents relatifs

Nous voulons maintenant un algorithme Union(A, B) qui nous renvoie l’union des deux ensembles qui lui sont pass´ es en argument.. (a) Cas des ensembles non tri´ es

— En suivant l’organisation d´ ecrite ci-dessus, la compilation des sources d’une s´ eance de TP peut se faire avec la commande suivante, en se pla¸ cant ` a la racine de

Il faut des classes final (ou record) pour maintenir la restriction de hi´ erarchie (branche) ou non−selead (mais cela limitera le

dans le cas d’un mono-processeur/coeur, c’est le Thread demandeur qui ex´ ecute le code qui est actif. sinon, le temps de r´ ecup´ erer le bool´ een d’un (imaginaire) isActif(),

Cr´ eer une classe Balle, ´ etendant Thread, telle que le constructeur ajoute un JLabel dans le JPanel central ` a une position al´ eatoire, et que la m´ ethode run fasse bouger

Le thread qui ex´ ecute wait() est mis dans un pool d’attente ; quand il en sort il “revient” dans le bloc synchronized et entre en comp´ etition avec d’autres threads pour

Cr´ eer une m´ ethode lancerThread (dans la classe principale) cr´ eant un Thread bas´ e sur le Runnable ci-dessus, et le d´ emarrant4. Dans une m´ ethode main, cr´ eer un objet de

1 M´ ethodes sp´ ecifiques aux Applets et qui leur permettent de demander au navigateur des informations ou des actions li´ ees au contexte : informations sur la page HTML