SlideShare ist ein Scribd-Unternehmen logo
1 von 169
Downloaden Sie, um offline zu lesen
Java-  LT informatique
Comment Java ?
Java Bien !
Formation
"Programmation Java"
 C'est une formation sur la programmation Java
 Objectifs :
 Introduction au langage Java et aux concepts de base de la programmation
orientée objets (P.O.O.)
 Par qui : Hassan Chaaban
 Licencié en administration de base de données (De Microsoft)
 Master en informatique
 Enseignant/formateur Java,Android,VB.Net,C#.Net, SQL Server
La formation
Planning
 Introduction, notions et concepts de base
 POO - Notions de base sur les classes
 Le langage : structure lexicale, types de données, structure de contrôle
 Les tableaux, les chaînes de caractères
 Les packages
 Héritage, classes de base et interfaces
 Les exceptions
 Les threads
 Les entrées-sorties
 Java et les interfaces graphiques
 Java et l'Internet : les applets
 Java et le réseau
 Java et les bases de données
Introduction,
notions et
concepts de base
Presentation du language
Premier programme Java, compilation, exécution
Quelques notions sur la programmation objet
Notions de base sur les classes
Types de données en Java
Structure lexicale du langage
Tableaux et classes de base
Blocs et instructions de contrôle
Paquetages
Plan
Java, c'est quoi ?
 Un environnement de programmation orienté objets
adapté à la distribution d'applications
 Développé par SUN Microsystems
Principales propriétés
de Java
 Java est un langage
• orienté objet
• à classes
 de syntaxe proche du langage C (C++)
 fourni avec le JDK (Java Développement Kit) :
• outils de développement
• ensemble de paquetages très riches et très variés
 portable (grâce JVM)
Premier programme Java
Fichier source Java : HelloWorld.java
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello world");
}
}
Java-  LT informatique
Notions de base sur la
programmation objet
Qu’est-ce qu’un objet ?
 Toute entité identifiable, concrète ou abstraite,
 Un objet réagit à certains messages qu'on lui envoie de
l'extérieur ; la façon dont il réagit détermine le
comportement de l'objet
 Il ne réagit pas toujours de la même façon à un même
événement ; sa réaction dépend de l’état dans lequel il se
trouve
Notion d’objet en Java
 Un objet possède :
• une identité unique (identifie l’objet)
• un comportement (ou Methodes)
• un état interne (Attributes)
 L’état interne est donné par des valeurs de variables (ou
attributs)
 Le comportement est donné par des fonctions ou sous-
programmes, appelées méthodes (ou opérations)
Java-  LT informatique
Les classes
en Java
 Une classe est un moule pour créer des objets
 Une classe est composée de membres :
• des variables, ou champs, ou attributs
 donnent l’état des instances
• des méthodes , ou opérations
 indiquent les types de messages qui pourront être
envoyés aux instances
• des constructeurs
 créent les instances
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Les méthodes
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Les variables
Java-  LT informatique
Variable locale
Ou
variable d’instance ?
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Une thread (appelée aussi activité) est un fil
d'instructions (un chemin d’exécution) à l'intérieur d'un
processus.
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Java-  LT informatique
Le Suivant!
Java-  LT informatique
Swing est une extension des AWT
Java-  LT informatique
Java-  LT informatique
Swing propose de nouvelles classes et interfaces
parallèle à celle de l'AWT, pour construire des
interfaces graphiques.
L'ancêtre de cette hiérarchie est le composant
JComponent
Swing : généralités
 Le paquetage javax.swing contient de nombreuse classes
permettant de réaliser des interfaces graphiques.
 La classe de base est la classe JComponent.
 Quatre classes définissent des composant de «haut niveau» :
 JFrame : définit une fenêtre application, avec titre, boutons fermeture,
iconification, agrandissement, menu, etc..
 JWindow : définit une fenêtre sans le cadre.
 JDialog : définit une fenêtre de dialogue, qui peut être modale ou non.
 JApplet : définit une applet.
Swing : généralités (suite)
JComponent
JComponent est la classe de base de tous les composants Swing,
à part
JFrame, JDialog et JApplet
Swing
JComponent
Architecture d'une interface
Swing
Une interface sera composée:
 D'un composant racine (toplevel)
 D'un ou de plusieurs containers
 De composants au sein des containers
Composants racines de Swing
La classe JFrame
Elle représente une fenêtre principale qui possède un
titre, une taille modifiable et éventuellement un menu.
La classe JFrame(Suite)
Par défaut, la fenêtre créée n'est pas visible. La méthode
setVisible(true) permet de l'afficher
Tous les composants associés à un
objet JFrame sont gérés par un
objet de la classe JRootPane. Un
objet JRootPane contient plusieurs
Panes. Tous les composants
ajoutés au JFame doivent être
ajoutés à un des Pane du
JRootPane et non au JFrame
directement.
La classe JFrame(Suite)
Le Pane le plus utilisé est le
ContentPane. Le Layout
manager par défaut du
contentPane est
BorderLayout. Il est
possible de le changer .
JFrame
public JFrame(); Construction de la fenêtre
public JFrame(String titre); Construction de la fenêtre avec un titre
public JMenuBar getJMenuBar(); récupère la barre de menu de l'application
public void setJMenuBar(JMenuBar barreMenu);
place automatiquement une barre de menu donnée en haut de la fenêtre, en
laissant le pavé de contenu libre pour le reste du contenu applicatif.
public void setLayout(java.awt.LayoutManager gestionnaire);
place un nouveau gestionnaire de disposition des composants graphiques
internes à la fenêtre.
public void setTitle(String titre); Spécifie un titre
public void setFont(Font fonte); Définie une nouvelle police de caractères
public Component add(Component composant); Place un nouveau composant dans le conteneur
public void setBackground(Color couleur); Spécifie une couleur de fond
public void setForeground(Color couleur); Spécifie une couleur du texte
public Graphics getGraphics();
Récupère la surface de travail du composant pour pouvoir réaliser
d'autres tracés.
public int getHeight(); Hauteur du composant
public void setLocation(int x, int y);
Positionne les coordonnées du composant par rapport au coin
supérieur gauche.
public void setSize(int largeur, int hauteur); Spécifie les dimensions du composant
public void setVisible(boolean visible); Rend un composant visible ou non
public int getWidth(); Largeur du composant
public void repaint(); Demande de redessiner le composant
public void setDefaultCloseOperation(int operation) pour déterminer le comportement de la fenêtre lors de sa fermeture
Les trois types de conteneurs les plus utilisés sont :
JFrame, JPanel et JApplet
Méthodes paintComponent et repaint
 En Swing, c'est dans cette méthode que doit être fait les dessins d'un composant. Cette
méthode est définie dans la classe JComponent. C'est en redéfinissant cette méthode que
l'on peut ajouter des instructions de dessin
 En AWT, la méthode paintComponent n'existe pas et c'est la méthode paint qui doit être
redéfinie pour ajouter du dessin. En Swing, la méthode paint existe encore mais elle ne
doit pas être redéfinie.
Méthodes paintComponent et repaint
Méthodes proposées de la classe Graphics
Graphics comporte quelques méthodes permettant de dessiner et remplir des formes
courantes :
Méthode Description
drawArc(int x, int y, int largeur, int hauteur, int angledébut, int anglefin) Dessine un arc de cercle (angle en degré)
drawLine(int xdébut, int ydébut, int xfin, int yfin) Dessine une ligne
drawOval(int x, int y, int largeur, int hauteur) Dessine un ovale
drawPolygon(int[] lesX, int[] lesY, int nombrePoint)
Dessine un polygone et le ferme en joignant les
extrémités
drawRect(int x, int y, int largeur, int hauteur) Dessine un rectangle
drawRoundRect(int x, int y, int largeur, int hauteur, int largeurArc, int hauteurArc) Dessine un rectangle à coins arrondis
fillArc(int x, int y, int largeur, int hauteur, int angledébut, int anglefin) Dessine un arc de cercle plein
fillOval(int x, int y, int largeur, int hauteur) Dessine un ovale plein
fillPolygon(int[] lesX, int[] lesY, int nombrePoint) Dessine un polygone plein
fillRect(int x, int y, int largeur, int hauteur) Dessine un rectangle plein
fillRoundRect(int x, int y, int largeur, int hauteur, int largeurArc, int hauteurArc) Dessine un rectangle plein à coins arrondis
Java-  LT informatique
Positionner son composant
Les Layout Managers
 Vous allez voir qu'il existe plusieurs sortes de layout
managers
 FlowLayout java.awt
 BorderLayout java.awt
 GridLayout java.awt
 BoxLayout javax.swing
Les Layout Managers
FlowLayout
Constructeurs:
 FIowLayout()
Crée un gestionnaire FlowLayout avec des lignes centrées et un espacement horizontal et vertical de 5 pixels entre les composants.
 Flowlayout(int align)
Crée un gestionnaire Fl owLayout avec un alignement de type align (voir constantes).
L'espacement horirontal et vertical des composants est de 5 pixels.
 Flowlayout(int align, int hgap, int vgap)
Crée un gestionnaire FlowLayout avec un alignement de type align (voir constantes). Les espacements horizontal et vertical des
composants est de hgap et vgal pixels.
Constantes:
 int FIowLayout .CENTER : Indique que les composants sont à centrer sur chaque ligne.
 int FIowLayout .LEFT : Indique que les composants d'une ligne doivent être alignés à
gauche.
 int FIowLayout .RIGHT : Indique que les composants d'une ligne doivent être alignés à
droite.
FlowLayout
BorderLayout
 BorderLayout()
Crée un gestionnaire BorderLayout.
 BorderLayout(int hgap, intvgap)
Crée un gestionnaire BorderLayout, qui laisse entre les composants un espace horizontal
hgap et un espace vertical vgap.
BorderLayout
GridLayout
 public GridLayout (int rows, int cols)
Permet gestionnaire de placements de composant ayant la forme d'une grille de rows lignes par cols colonnes.
 public GridLayout (int rows, int cols, int hgap, int vgap)
idem constructeur précédent avec un espacement horizontal et vertical entre les composants de hgap et vgap pixels (par défaut égal
à 0).
GridLayout
GridLayout
BoxLayout
 BoxLayout(Container target, int axis)
spécifie si les composants doivent être mis sur une ligne (paramètre BoxLayout.X_AXIS) ou sur une colonne
paramètre BoxLayout.Y_AXIS).
BoxLayout
la classe JLabel
Constructeurs Rôle
JLabel() Création d'une instance sans texte ni image
JLabel(String)
Création d'une instance en précisant le
texte
JLabel(String, int)
Création d'une instance en précisant le
texte et l'alignement horizontal
La classe JLabel définit plusieurs méthodes pour modifier l'apparence du composant :
 L'alignement vertical par défaut d'un JLabel est centré. L'alignement horizontal par défaut est soit à gauche s'il ne contient
que du texte, soit centré s'il contient une image avec ou sans texte. Pour modifier cet alignement, il suffit d'utiliser les
méthodes ci-dessus en utilisant des constantes en paramètres :
SwingConstants.LEFT, SwingConstants.CENTER, SwingConstants.RIGHT, SwingConstants.TOP, SwingConstants.BOTTOM
 Par défaut, un JLabel est transparent : son fond n'est pas dessiné. Pour le dessiner, il faut utiliser la méthode setOpaque() :
void setText(String t) Affecte un texte au label.
String getText() Retourne le texte du label.
void setFont(Font f) Affecte une police au label.
Font getFont() Retourne la police du label.
void setOpaque(boolean b)
Rend le label opaque si b vaut true,par défaut un label
est transparent.
boolean isOpaque() Retourne la propriété opaque du label.
void setHorizontalAlignment(int a)
Affecte l'alignement horizontal : LEFT, RIGHT, CENTER,
LEADING, TRAILING
void setVerticalAlignment(int a) Affecte l'alignement vertical : TOP, BOTTOM, CENTER
void setBackground(Color c)
Color getBackground()
void setForeground(Color c)
Color getForeground()
la classe AbstractButton
la classe AbstractButton
Méthode Rôle
AddActionListener
Associer un écouteur sur un événement de
type ActionEvent
AddItemListener
Associer un écouteur sur un événement de
type ItemEvent
doClick() Déclencher un clic par programmation
getText() Obtenir le texte affiché par le composant
setEnabled() Activer/désactiver le composant
setText() Mettre à jour le texte du composant
isSelected()
Indiquer si le composant est dans l'état
sélectionné
setSelected()
Définir l'état du composant (sélectionné ou
non selon la valeur fournie en paramètre
la classe JButton
Constructeur Rôle
JButton()
JButton(String) préciser le texte du bouton
la classe JCheckBox
Constructeur Rôle
JCheckBox(String) précise l'intitulé
JCheckBox(String, boolean) précise l'intitulé et l'état
la classe JRadioButton
Constructeur Rôle
JRadioButton()
Créer un bouton non sélectionné sans
libellé
JRadioButton(String)
Créer un bouton non sélectionné avec le
libellé fourni en paramètre
JRadioButton(String, boolean)
Créer un bouton avec le libellé et l'état
fournis en paramètres
la classe JTextComponent
la classe JTextComponent
La classe abstraite JTextComponent est la classe mère de tous les composants permettant la saisie de texte.
Méthode Rôle
void copy() Copier le contenu du texte et le mettre dans le presse papier système
void cut() Couper le contenu du texte et le mettre dans le presse papier système
Document getDocument() Renvoyer l'objet de type Document qui encapsule le texte saisi
String getSelectectedText() Renvoyer le texte sélectionné dans le composant
int getSelectionEnd() Renvoyer la position de la fin de la sélection
int getSelectionStart() Renvoyer la position du début de la sélection
String getText() Renvoyer le texte saisi
String getText(int, int)
Renvoyer une portion du texte débutant à partir de la position donnée par le
premier paramètre et la longueur donnée dans le second paramètre
bool isEditable() Renvoyer un booléen qui précise si le texte est éditable ou non
void paste() Coller le contenu du presse papier système dans le composant
void select(int,int)
Sélectionner une portion du texte dont les positions de début et de fin sont
fournies en paramètres
void setCaretPosition(int) Déplacer le curseur dans le texte à la position précisé en paramètre
void setEditable(boolean) Permet de préciser si les données du composant sont éditables ou non
void setSelectionEnd(int) Modifier la position de la fin de la sélection
void setSelectionStart(int) Modifier la position du début de la sélection
void setText(String) Modifier le contenu du texte
la classe JTextField
public JTextField();
Ce constructeur permet de créer l'objet avec
les paramètres par défaut.
public JTextField(int columns);
Ce constructeur permet de créer l'objet vide
avec le nombre de colonnes spécifiés.
public JTextField(String text);
Ce constructeur permet de créer l'objet avec
le texte spécifié.
public JTextField(String text, int columns);
Ce constructeur permet de créer l'objet avec
le texte et le nombre de colonnes spécifiés.
Méthode Description
int getColumns();
Cette méthode permet de demander le
nombre de colonnes dans l'objet TextField.
int getHorizontalAlignment();
Cette méthode permet de demander
l'alignement horizontal du texte.
void setColumns(int columns);
Cette méthode permet de fixer le nombre de
colonnes dans l'objet TextField et revalide ses
dispositions.
void setFont(Font f);
Cette méthode permet de fixer la police de
caractères courante.
void setHorizontalAlignment(int alignment);
Cette méthode permet de fixer l'alignement
horizontal du texte.
la classe JTextField
la classe JTextArea
JTextArea() Construit une nouvelle instance de JTextArea.
JTextArea(int l, int c)
Construit une nouvelle instance de JTextArea,
avec l lignes et c colonnes. Les lignes et colonnes
sont utilisées pour déterminer la taille préférrée
du JTextArea, et éventuellement faire apparaître
les barres de défilement, si le JTextArea est placé
dans un JScrollPane.
JTextArea(String texte) Construit un JTextArea avec un texte initial.
JTextArea(String texte, int l, int c)
JTextArea(Document doc, String t, int l, int c)
String getText() Retourne le texte du JTextArea.
String getText(int d, int l)
Retourne le texte du JTextArea, qui a pour
longueurl à partir de d.
String getSelectedText() Retourne le texte sélectionné.
void setText(String t) Le texte du JTextArea est remplacé par t.
void append(String t) Ajoute le texte t à la fin du JTextArea.
void insert(String t, int pos)
Insère le texte t à la position pos, dans
le JTextArea.
void replaceRange(String t,int d,int f)
Remplace le texte du JTextArea qui va
de d à f par le texte t.
void replaceSlection(String t)
Remplace le texte sélectionné du JTextArea par
le texte t.
la classe JTextArea
la classe JTextArea
int getSelectionStart() Retourne l'indice du début de la sélection.
int getSelectionEnd Retourne l'indice de la fin de la sélection.
void setSelectionStart(int d) Positionne le début de la sélection.
void setSelectionEnd(int e) Positionne la fin de la sélection.
Color getSelectedTextColor() Retourne la couleur du texte sélectionné.
Color getSelectionColor()
Retourne la couleur de fond du texte
sélectionné.
void setSelectedTextColor(Color c) Change la couleur du texte sélectionné.
void setSelectionColor(Color c) Change la couleur du fond du texte sélectionné.
void select(int d, int f) Sélectionne le texte de d à f.
void selectAll() Sélectionne tout le texte.
la classe JTextArea
void cut() Coupe le texte sélectionné et le copie dans le presse-papiers.
void copy() Copie le texte sélectionné dans le presse-papiers.
void paste() Copie le presse-papiers à la place du texte sélectionné.
la classe JList
La classe JList permet d'afficher une liste d'objets, et offre à l'utilisateur la possibilité de
sélectionner un ou plusieurs objets de la liste.
JList() Crée un JList vide.
JList(Object [] donnees)
Crée un JList qui affiche les données contenues dans le
tableau donnees.
JList(Vector<?> v) Crée un JList qui affiche les données contenues dans le vecteur v.
JList (ListModel l) Crée un JList qui affche les données contenues dans le ListModel l.
la classe JList
int getSelectionMode() Retourne le mode de sélection des données.
void setSelectionMode( int sm)
javax.swing.ListSelectionModel.SINGLE_SELECTION
javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION
javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
void setVisibleRowCount( int l)
void ensureIndexVisible(int index) Assure que l'item au rang index est visible.
void clearSelection() Plus aucun item sélectionné.
boolean isSelectionEmpty() Retourne true s'il n'y a aucun item sélectionné.
int getLastVisibleIndex() Retourne l'indice du dernier item visible.
int getSelectedIndex() Retourne l'indice de l'item sélectionné.
int[] getSelectedIncices() Retourne les indices des items sélectionnés.
void setSelectedIndex(int i) Affecte l'indice de l'item sélectionné.
void setSelectedIndices(int [] i) Affecte les indices des items sélectionnés.
Object getSelectedValue() Retourne la valeur de l'item sélectionné.
void setSelectedValue(Object v,
boolean b)
L'item sélectionné devient v. Si b vaut true, il est rendu visible dans
le JList.
Object[] getSelectedValues() Retourne un tableau des items sélectionnés.
ListModel getModel() Retourne le modèle de données affiché par le JList.
void setModel(ListModel lm) Le nouveau modèle de données affiché par le JList est lm.
la classe JList
int getSize() Retourne le nombre d'éléments présents dans la liste.
boolean isEmpty() Retourne getSize()==0
void clear() Enlève tous les éléments.
void addElement(Object obj) Ajoute element en fin de liste.
Object firstElement()
Object lastElement()
Object get(int index)
boolean contains(Object element) Retourne true si element est dans la liste et false sinon.
int indexOf(Object element)
int indexOf(Object element, int index)
int lastIndexOf(Object element)
int lastIndexOf(Object element, int index)
Object remove(int index)
boolean removeElement(Object element)
Enlève la première occurrence de element de la liste, et
retourne true. Retourne false si element n'est pas dans la liste.
void removeRange(int depuis, int jusqua)
Enlève de la liste tous les élément d'indices depuis (inclus)
à jusqua (exclu).
Object set(int index, Object element)
DefaultListModel
Jlist Example
la classe JScrollPane
JScrollPane est un conteneur permettant de munir un composant de barres de défilement
JScrollBars sont munies d'une stratégie d'affichage qui peut être :
• VERTICAL_SCROLLBAR_AS_NEEDED
• VERTICAL_SCROLLBAR_NEVER
• VERTICAL_SCROLLBAR_ALWAYS
• HORIZONTAL_SCROLLBAR_AS_NEEDED
• HORIZONTAL_SCROLLBAR_NEVER
• HORIZONTAL_SCROLLBAR_ALWAYS
JScrollPane()
politique horizontale et
verticale AS_NEEDED
JScrollPane(Component vue )
politique horizontale et
verticale AS_NEEDED
JScrollPane(Component vue,
int vPolitique, int hPolitique)
Crée un JScrollPane avec composant
vue avec une politique horizontale et
une politique verticale
JScrollPane(int vPolitique, int hPolitique)
Crée un JScrollPane sans composant
vue avec une politique horizontale et
une politique verticale
la classe JScrollPane
void setViewPortView( Component c) Affecte le composant Scrollable à visualiser.
void setVerticalScrollBarPolicy(int p)
Affecte la stratègie d'affichage de
la ScrollBar verticale.
int getVerticalScrollBarPolicy()
void setHorizontalScrollBarPolicy( int p)
Affecte la stratègie d'affichage de
la ScrollBar verticale.
int getHorizontalScrollBarPolicy()
void setColumnHeaderView (Component c)
Affecte un composant comme en-tête de
colonnes
Jlist Example
+
JScrollPane
JScrollPane Example
JInternalFrame()
Crée une JInternalFrame non redimensionnable,
non fermable, non maximisable, non iconifiable
et sans titre.
JInternalFrame(String title)
Crée une JInternalFrame non redimensionnable,
non fermable, non maximisable et non iconifiable.
JInternalFrame(String title, boolean resizable)
JInternalFrame(String title, boolean resizable,
boolean closable)
JInternalFrame(String title, boolean resizable,
boolean closable, boolean maximizable)
JInternalFrame(String title, boolean resizable,
boolean closable, boolean maximizable,
boolean iconifiable)
la classe JInternalFrame
la classe JInternalFrame
JDesktopPane getDesktopPane()
Retourne le JDesktopPane qui contient cette
frame.
String getTitle() Retourne le titre de la frame.
void setTitle(String t) Affecte le titre de la frame.
boolean isSelected() Retourne true si la fenêtre est active
void toBack()
void toFront()
JInternalFrame Example
JInternalFrame Example
Le Suivant!
Les événements et les écouteurs
L’interface ActionListener et la classe ActionEvent
L’interface ItemListener et la classe ItemEvent
Les classes anonymes et les classes internes
Les classes
JMenuBar, JMenu, JMenuItem, JCheckedMenuItem
(constructeurs et principales méthodes)
Fenêtres de dialogue (JOptionPane) : Message, Saisie et
confirmation

Weitere ähnliche Inhalte

Was ist angesagt?

Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Objet Direct Formation JPA Hibernate
Objet Direct Formation JPA HibernateObjet Direct Formation JPA Hibernate
Objet Direct Formation JPA Hibernateformationobjetdirect
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Jpa Spring Hibernate
Jpa Spring HibernateJpa Spring Hibernate
Jpa Spring Hibernatezaheryamak
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
JAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAJAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAAymen Bedwivski
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflectionEric Toguem
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancéeMahfoud EL HOUDAIGUI
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 
Formation JPA Java persistence API
Formation JPA Java persistence APIFormation JPA Java persistence API
Formation JPA Java persistence APIThibault Cuvillier
 

Was ist angesagt? (20)

Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
JAVA
JAVAJAVA
JAVA
 
Uml
UmlUml
Uml
 
Objet Direct Formation JPA Hibernate
Objet Direct Formation JPA HibernateObjet Direct Formation JPA Hibernate
Objet Direct Formation JPA Hibernate
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
Jpa Spring Hibernate
Jpa Spring HibernateJpa Spring Hibernate
Jpa Spring Hibernate
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
JAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVAJAVA-UIK-CHAP6-POO HERITAGE JAVA
JAVA-UIK-CHAP6-POO HERITAGE JAVA
 
Introduction à JPA (Java Persistence API )
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflection
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancée
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
UML Diagrammes Statiques
UML Diagrammes StatiquesUML Diagrammes Statiques
UML Diagrammes Statiques
 
Introduction java
Introduction javaIntroduction java
Introduction java
 
Formation JPA Java persistence API
Formation JPA Java persistence APIFormation JPA Java persistence API
Formation JPA Java persistence API
 
POO
POOPOO
POO
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 

Andere mochten auch

Raul reyes farc chavez
Raul reyes farc chavezRaul reyes farc chavez
Raul reyes farc chavezSolo Clic Vzla
 
L Histoire De Monsieur Bouziane
L Histoire De Monsieur BouzianeL Histoire De Monsieur Bouziane
L Histoire De Monsieur Bouzianecyberpresquile
 
WUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces sociales
WUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces socialesWUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces sociales
WUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces socialesFrederic CAVAZZA
 
La veille de Né Kid du 16.01.11 : la TV connectée
La veille de Né Kid du 16.01.11 : la TV connectéeLa veille de Né Kid du 16.01.11 : la TV connectée
La veille de Né Kid du 16.01.11 : la TV connectéeNé Kid
 
Lo Que Dijeron De Ellas Eov
Lo Que Dijeron De Ellas EovLo Que Dijeron De Ellas Eov
Lo Que Dijeron De Ellas EovCris Araújo
 
Emmanuelle Chriqui
Emmanuelle ChriquiEmmanuelle Chriqui
Emmanuelle ChriquiMariolo
 
Portrait de startuper #26 - Whaller - Thomas Fauré
Portrait de startuper #26 - Whaller - Thomas FauréPortrait de startuper #26 - Whaller - Thomas Fauré
Portrait de startuper #26 - Whaller - Thomas FauréSébastien Bourguignon
 
La veille de Né Kid du 07.04.11 : l'e-mailing
La veille de Né Kid du 07.04.11 : l'e-mailingLa veille de Né Kid du 07.04.11 : l'e-mailing
La veille de Né Kid du 07.04.11 : l'e-mailingNé Kid
 
Estrategia modulo 4 vanessa torres
Estrategia modulo 4 vanessa torresEstrategia modulo 4 vanessa torres
Estrategia modulo 4 vanessa torresVane Torres
 
L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...
L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...
L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...OpinionWay
 
La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...
La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...
La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...Né Kid
 
Diapo tissu andin le lain
Diapo tissu andin le lainDiapo tissu andin le lain
Diapo tissu andin le lainrossinantedu44
 
Yo, mi región, mi cultura
Yo, mi región, mi culturaYo, mi región, mi cultura
Yo, mi región, mi culturaherilon
 
Copias carolina mayo_2011
Copias carolina mayo_2011Copias carolina mayo_2011
Copias carolina mayo_2011GianBros
 

Andere mochten auch (20)

Raul reyes farc chavez
Raul reyes farc chavezRaul reyes farc chavez
Raul reyes farc chavez
 
Digital Cookie 01014
Digital Cookie 01014Digital Cookie 01014
Digital Cookie 01014
 
L Histoire De Monsieur Bouziane
L Histoire De Monsieur BouzianeL Histoire De Monsieur Bouziane
L Histoire De Monsieur Bouziane
 
Faites des gosses
Faites des gossesFaites des gosses
Faites des gosses
 
WUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces sociales
WUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces socialesWUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces sociales
WUD 2007 Paris : 10 enjeux d'utilisabilité pour les interfaces sociales
 
La Femme 1
La Femme 1La Femme 1
La Femme 1
 
La veille de Né Kid du 16.01.11 : la TV connectée
La veille de Né Kid du 16.01.11 : la TV connectéeLa veille de Né Kid du 16.01.11 : la TV connectée
La veille de Né Kid du 16.01.11 : la TV connectée
 
Lo Que Dijeron De Ellas Eov
Lo Que Dijeron De Ellas EovLo Que Dijeron De Ellas Eov
Lo Que Dijeron De Ellas Eov
 
Emmanuelle Chriqui
Emmanuelle ChriquiEmmanuelle Chriqui
Emmanuelle Chriqui
 
Portrait de startuper #26 - Whaller - Thomas Fauré
Portrait de startuper #26 - Whaller - Thomas FauréPortrait de startuper #26 - Whaller - Thomas Fauré
Portrait de startuper #26 - Whaller - Thomas Fauré
 
La veille de Né Kid du 07.04.11 : l'e-mailing
La veille de Né Kid du 07.04.11 : l'e-mailingLa veille de Né Kid du 07.04.11 : l'e-mailing
La veille de Né Kid du 07.04.11 : l'e-mailing
 
Estrategia modulo 4 vanessa torres
Estrategia modulo 4 vanessa torresEstrategia modulo 4 vanessa torres
Estrategia modulo 4 vanessa torres
 
L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...
L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...
L'Express - Analyse de l'interview Présidentielle du 14 juillet - Par Opinion...
 
La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...
La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...
La veille de Né Kid du 19.05.11 : les banques favorites du monde, la pub fait...
 
Moneda única para latinoamérica.
Moneda única para latinoamérica.Moneda única para latinoamérica.
Moneda única para latinoamérica.
 
Diapo tissu andin le lain
Diapo tissu andin le lainDiapo tissu andin le lain
Diapo tissu andin le lain
 
Yo, mi región, mi cultura
Yo, mi región, mi culturaYo, mi región, mi cultura
Yo, mi región, mi cultura
 
Poemes
PoemesPoemes
Poemes
 
Copias carolina mayo_2011
Copias carolina mayo_2011Copias carolina mayo_2011
Copias carolina mayo_2011
 
Las TIC aplicadas
Las TIC aplicadasLas TIC aplicadas
Las TIC aplicadas
 

Ähnlich wie Java- LT informatique

Chapitre4 cours de java
Chapitre4 cours de javaChapitre4 cours de java
Chapitre4 cours de javainfo1994
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxRihabBENLAMINE
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Mejdeddine Bouzouita
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer FacesJS Bournival
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipseISIG
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJSaissamjadli
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Chapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdfChapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdfAdamIMLOUL
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
Java 5, un blian
Java 5, un blianJava 5, un blian
Java 5, un bliantareq
 
Java 5, un bilan
Java 5,  un bilanJava 5,  un bilan
Java 5, un bilanteejug
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 

Ähnlich wie Java- LT informatique (20)

Chapitre4 cours de java
Chapitre4 cours de javaChapitre4 cours de java
Chapitre4 cours de java
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Swing
SwingSwing
Swing
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
575
575575
575
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptx
 
4-2-java swing.ppt
4-2-java swing.ppt4-2-java swing.ppt
4-2-java swing.ppt
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipse
 
cours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJScours dev d'applications web moderne avec ReactJS
cours dev d'applications web moderne avec ReactJS
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Chapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdfChapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdf
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
 
Java 5, un blian
Java 5, un blianJava 5, un blian
Java 5, un blian
 
Java 5, un bilan
Java 5,  un bilanJava 5,  un bilan
Java 5, un bilan
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 

Kürzlich hochgeladen

Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2JeanLucHusson
 
Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...
Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...
Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...Technologia Formation
 
Présentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 Toulouse
Présentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 ToulousePrésentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 Toulouse
Présentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 ToulouseYvonGervaise
 
Rapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFERapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFEAhmam Abderrahmane
 
Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024frizzole
 
Semaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptxSemaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptxMartin M Flynn
 
Formation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementFormation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementM2i Formation
 

Kürzlich hochgeladen (7)

Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2
 
Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...
Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...
Webinaire Cohésion | Le pouvoir du mentorat au travail : pour qui, pourquoi, ...
 
Présentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 Toulouse
Présentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 ToulousePrésentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 Toulouse
Présentation à Séminaire IA de la Fédération Gay Lussac , 25/03/24 Toulouse
 
Rapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFERapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFE
 
Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024
 
Semaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptxSemaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptx
 
Formation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementFormation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changement
 

Java- LT informatique

  • 2. Comment Java ? Java Bien ! Formation "Programmation Java"
  • 3.  C'est une formation sur la programmation Java  Objectifs :  Introduction au langage Java et aux concepts de base de la programmation orientée objets (P.O.O.)  Par qui : Hassan Chaaban  Licencié en administration de base de données (De Microsoft)  Master en informatique  Enseignant/formateur Java,Android,VB.Net,C#.Net, SQL Server La formation
  • 4. Planning  Introduction, notions et concepts de base  POO - Notions de base sur les classes  Le langage : structure lexicale, types de données, structure de contrôle  Les tableaux, les chaînes de caractères  Les packages  Héritage, classes de base et interfaces  Les exceptions  Les threads  Les entrées-sorties  Java et les interfaces graphiques  Java et l'Internet : les applets  Java et le réseau  Java et les bases de données
  • 6. Presentation du language Premier programme Java, compilation, exécution Quelques notions sur la programmation objet Notions de base sur les classes Types de données en Java Structure lexicale du langage Tableaux et classes de base Blocs et instructions de contrôle Paquetages Plan
  • 8.  Un environnement de programmation orienté objets adapté à la distribution d'applications  Développé par SUN Microsystems
  • 10.  Java est un langage • orienté objet • à classes  de syntaxe proche du langage C (C++)  fourni avec le JDK (Java Développement Kit) : • outils de développement • ensemble de paquetages très riches et très variés  portable (grâce JVM)
  • 12. Fichier source Java : HelloWorld.java public class HelloWorld { public static void main(String[] args){ System.out.println("Hello world"); } }
  • 14. Notions de base sur la programmation objet
  • 16.  Toute entité identifiable, concrète ou abstraite,  Un objet réagit à certains messages qu'on lui envoie de l'extérieur ; la façon dont il réagit détermine le comportement de l'objet  Il ne réagit pas toujours de la même façon à un même événement ; sa réaction dépend de l’état dans lequel il se trouve
  • 17. Notion d’objet en Java  Un objet possède : • une identité unique (identifie l’objet) • un comportement (ou Methodes) • un état interne (Attributes)  L’état interne est donné par des valeurs de variables (ou attributs)  Le comportement est donné par des fonctions ou sous- programmes, appelées méthodes (ou opérations)
  • 20.  Une classe est un moule pour créer des objets  Une classe est composée de membres : • des variables, ou champs, ou attributs  donnent l’état des instances • des méthodes , ou opérations  indiquent les types de messages qui pourront être envoyés aux instances • des constructeurs  créent les instances
  • 100. Une thread (appelée aussi activité) est un fil d'instructions (un chemin d’exécution) à l'intérieur d'un processus.
  • 110. Swing est une extension des AWT
  • 113. Swing propose de nouvelles classes et interfaces parallèle à celle de l'AWT, pour construire des interfaces graphiques. L'ancêtre de cette hiérarchie est le composant JComponent Swing : généralités
  • 114.  Le paquetage javax.swing contient de nombreuse classes permettant de réaliser des interfaces graphiques.  La classe de base est la classe JComponent.  Quatre classes définissent des composant de «haut niveau» :  JFrame : définit une fenêtre application, avec titre, boutons fermeture, iconification, agrandissement, menu, etc..  JWindow : définit une fenêtre sans le cadre.  JDialog : définit une fenêtre de dialogue, qui peut être modale ou non.  JApplet : définit une applet. Swing : généralités (suite)
  • 115. JComponent JComponent est la classe de base de tous les composants Swing, à part JFrame, JDialog et JApplet
  • 116. Swing
  • 118. Architecture d'une interface Swing Une interface sera composée:  D'un composant racine (toplevel)  D'un ou de plusieurs containers  De composants au sein des containers
  • 120. La classe JFrame Elle représente une fenêtre principale qui possède un titre, une taille modifiable et éventuellement un menu.
  • 121. La classe JFrame(Suite) Par défaut, la fenêtre créée n'est pas visible. La méthode setVisible(true) permet de l'afficher Tous les composants associés à un objet JFrame sont gérés par un objet de la classe JRootPane. Un objet JRootPane contient plusieurs Panes. Tous les composants ajoutés au JFame doivent être ajoutés à un des Pane du JRootPane et non au JFrame directement.
  • 122. La classe JFrame(Suite) Le Pane le plus utilisé est le ContentPane. Le Layout manager par défaut du contentPane est BorderLayout. Il est possible de le changer .
  • 123. JFrame public JFrame(); Construction de la fenêtre public JFrame(String titre); Construction de la fenêtre avec un titre public JMenuBar getJMenuBar(); récupère la barre de menu de l'application public void setJMenuBar(JMenuBar barreMenu); place automatiquement une barre de menu donnée en haut de la fenêtre, en laissant le pavé de contenu libre pour le reste du contenu applicatif. public void setLayout(java.awt.LayoutManager gestionnaire); place un nouveau gestionnaire de disposition des composants graphiques internes à la fenêtre. public void setTitle(String titre); Spécifie un titre public void setFont(Font fonte); Définie une nouvelle police de caractères public Component add(Component composant); Place un nouveau composant dans le conteneur public void setBackground(Color couleur); Spécifie une couleur de fond public void setForeground(Color couleur); Spécifie une couleur du texte public Graphics getGraphics(); Récupère la surface de travail du composant pour pouvoir réaliser d'autres tracés. public int getHeight(); Hauteur du composant public void setLocation(int x, int y); Positionne les coordonnées du composant par rapport au coin supérieur gauche. public void setSize(int largeur, int hauteur); Spécifie les dimensions du composant public void setVisible(boolean visible); Rend un composant visible ou non public int getWidth(); Largeur du composant public void repaint(); Demande de redessiner le composant public void setDefaultCloseOperation(int operation) pour déterminer le comportement de la fenêtre lors de sa fermeture
  • 124. Les trois types de conteneurs les plus utilisés sont : JFrame, JPanel et JApplet
  • 126.  En Swing, c'est dans cette méthode que doit être fait les dessins d'un composant. Cette méthode est définie dans la classe JComponent. C'est en redéfinissant cette méthode que l'on peut ajouter des instructions de dessin  En AWT, la méthode paintComponent n'existe pas et c'est la méthode paint qui doit être redéfinie pour ajouter du dessin. En Swing, la méthode paint existe encore mais elle ne doit pas être redéfinie. Méthodes paintComponent et repaint
  • 127. Méthodes proposées de la classe Graphics
  • 128. Graphics comporte quelques méthodes permettant de dessiner et remplir des formes courantes : Méthode Description drawArc(int x, int y, int largeur, int hauteur, int angledébut, int anglefin) Dessine un arc de cercle (angle en degré) drawLine(int xdébut, int ydébut, int xfin, int yfin) Dessine une ligne drawOval(int x, int y, int largeur, int hauteur) Dessine un ovale drawPolygon(int[] lesX, int[] lesY, int nombrePoint) Dessine un polygone et le ferme en joignant les extrémités drawRect(int x, int y, int largeur, int hauteur) Dessine un rectangle drawRoundRect(int x, int y, int largeur, int hauteur, int largeurArc, int hauteurArc) Dessine un rectangle à coins arrondis fillArc(int x, int y, int largeur, int hauteur, int angledébut, int anglefin) Dessine un arc de cercle plein fillOval(int x, int y, int largeur, int hauteur) Dessine un ovale plein fillPolygon(int[] lesX, int[] lesY, int nombrePoint) Dessine un polygone plein fillRect(int x, int y, int largeur, int hauteur) Dessine un rectangle plein fillRoundRect(int x, int y, int largeur, int hauteur, int largeurArc, int hauteurArc) Dessine un rectangle plein à coins arrondis
  • 130. Positionner son composant Les Layout Managers
  • 131.  Vous allez voir qu'il existe plusieurs sortes de layout managers  FlowLayout java.awt  BorderLayout java.awt  GridLayout java.awt  BoxLayout javax.swing Les Layout Managers
  • 132. FlowLayout Constructeurs:  FIowLayout() Crée un gestionnaire FlowLayout avec des lignes centrées et un espacement horizontal et vertical de 5 pixels entre les composants.  Flowlayout(int align) Crée un gestionnaire Fl owLayout avec un alignement de type align (voir constantes). L'espacement horirontal et vertical des composants est de 5 pixels.  Flowlayout(int align, int hgap, int vgap) Crée un gestionnaire FlowLayout avec un alignement de type align (voir constantes). Les espacements horizontal et vertical des composants est de hgap et vgal pixels. Constantes:  int FIowLayout .CENTER : Indique que les composants sont à centrer sur chaque ligne.  int FIowLayout .LEFT : Indique que les composants d'une ligne doivent être alignés à gauche.  int FIowLayout .RIGHT : Indique que les composants d'une ligne doivent être alignés à droite.
  • 134. BorderLayout  BorderLayout() Crée un gestionnaire BorderLayout.  BorderLayout(int hgap, intvgap) Crée un gestionnaire BorderLayout, qui laisse entre les composants un espace horizontal hgap et un espace vertical vgap.
  • 136. GridLayout  public GridLayout (int rows, int cols) Permet gestionnaire de placements de composant ayant la forme d'une grille de rows lignes par cols colonnes.  public GridLayout (int rows, int cols, int hgap, int vgap) idem constructeur précédent avec un espacement horizontal et vertical entre les composants de hgap et vgap pixels (par défaut égal à 0).
  • 139. BoxLayout  BoxLayout(Container target, int axis) spécifie si les composants doivent être mis sur une ligne (paramètre BoxLayout.X_AXIS) ou sur une colonne paramètre BoxLayout.Y_AXIS).
  • 141. la classe JLabel Constructeurs Rôle JLabel() Création d'une instance sans texte ni image JLabel(String) Création d'une instance en précisant le texte JLabel(String, int) Création d'une instance en précisant le texte et l'alignement horizontal
  • 142. La classe JLabel définit plusieurs méthodes pour modifier l'apparence du composant :  L'alignement vertical par défaut d'un JLabel est centré. L'alignement horizontal par défaut est soit à gauche s'il ne contient que du texte, soit centré s'il contient une image avec ou sans texte. Pour modifier cet alignement, il suffit d'utiliser les méthodes ci-dessus en utilisant des constantes en paramètres : SwingConstants.LEFT, SwingConstants.CENTER, SwingConstants.RIGHT, SwingConstants.TOP, SwingConstants.BOTTOM  Par défaut, un JLabel est transparent : son fond n'est pas dessiné. Pour le dessiner, il faut utiliser la méthode setOpaque() : void setText(String t) Affecte un texte au label. String getText() Retourne le texte du label. void setFont(Font f) Affecte une police au label. Font getFont() Retourne la police du label. void setOpaque(boolean b) Rend le label opaque si b vaut true,par défaut un label est transparent. boolean isOpaque() Retourne la propriété opaque du label. void setHorizontalAlignment(int a) Affecte l'alignement horizontal : LEFT, RIGHT, CENTER, LEADING, TRAILING void setVerticalAlignment(int a) Affecte l'alignement vertical : TOP, BOTTOM, CENTER void setBackground(Color c) Color getBackground() void setForeground(Color c) Color getForeground()
  • 144. la classe AbstractButton Méthode Rôle AddActionListener Associer un écouteur sur un événement de type ActionEvent AddItemListener Associer un écouteur sur un événement de type ItemEvent doClick() Déclencher un clic par programmation getText() Obtenir le texte affiché par le composant setEnabled() Activer/désactiver le composant setText() Mettre à jour le texte du composant isSelected() Indiquer si le composant est dans l'état sélectionné setSelected() Définir l'état du composant (sélectionné ou non selon la valeur fournie en paramètre
  • 145. la classe JButton Constructeur Rôle JButton() JButton(String) préciser le texte du bouton
  • 146. la classe JCheckBox Constructeur Rôle JCheckBox(String) précise l'intitulé JCheckBox(String, boolean) précise l'intitulé et l'état
  • 147. la classe JRadioButton Constructeur Rôle JRadioButton() Créer un bouton non sélectionné sans libellé JRadioButton(String) Créer un bouton non sélectionné avec le libellé fourni en paramètre JRadioButton(String, boolean) Créer un bouton avec le libellé et l'état fournis en paramètres
  • 149. la classe JTextComponent La classe abstraite JTextComponent est la classe mère de tous les composants permettant la saisie de texte. Méthode Rôle void copy() Copier le contenu du texte et le mettre dans le presse papier système void cut() Couper le contenu du texte et le mettre dans le presse papier système Document getDocument() Renvoyer l'objet de type Document qui encapsule le texte saisi String getSelectectedText() Renvoyer le texte sélectionné dans le composant int getSelectionEnd() Renvoyer la position de la fin de la sélection int getSelectionStart() Renvoyer la position du début de la sélection String getText() Renvoyer le texte saisi String getText(int, int) Renvoyer une portion du texte débutant à partir de la position donnée par le premier paramètre et la longueur donnée dans le second paramètre bool isEditable() Renvoyer un booléen qui précise si le texte est éditable ou non void paste() Coller le contenu du presse papier système dans le composant void select(int,int) Sélectionner une portion du texte dont les positions de début et de fin sont fournies en paramètres void setCaretPosition(int) Déplacer le curseur dans le texte à la position précisé en paramètre void setEditable(boolean) Permet de préciser si les données du composant sont éditables ou non void setSelectionEnd(int) Modifier la position de la fin de la sélection void setSelectionStart(int) Modifier la position du début de la sélection void setText(String) Modifier le contenu du texte
  • 150. la classe JTextField public JTextField(); Ce constructeur permet de créer l'objet avec les paramètres par défaut. public JTextField(int columns); Ce constructeur permet de créer l'objet vide avec le nombre de colonnes spécifiés. public JTextField(String text); Ce constructeur permet de créer l'objet avec le texte spécifié. public JTextField(String text, int columns); Ce constructeur permet de créer l'objet avec le texte et le nombre de colonnes spécifiés.
  • 151. Méthode Description int getColumns(); Cette méthode permet de demander le nombre de colonnes dans l'objet TextField. int getHorizontalAlignment(); Cette méthode permet de demander l'alignement horizontal du texte. void setColumns(int columns); Cette méthode permet de fixer le nombre de colonnes dans l'objet TextField et revalide ses dispositions. void setFont(Font f); Cette méthode permet de fixer la police de caractères courante. void setHorizontalAlignment(int alignment); Cette méthode permet de fixer l'alignement horizontal du texte. la classe JTextField
  • 152. la classe JTextArea JTextArea() Construit une nouvelle instance de JTextArea. JTextArea(int l, int c) Construit une nouvelle instance de JTextArea, avec l lignes et c colonnes. Les lignes et colonnes sont utilisées pour déterminer la taille préférrée du JTextArea, et éventuellement faire apparaître les barres de défilement, si le JTextArea est placé dans un JScrollPane. JTextArea(String texte) Construit un JTextArea avec un texte initial. JTextArea(String texte, int l, int c) JTextArea(Document doc, String t, int l, int c)
  • 153. String getText() Retourne le texte du JTextArea. String getText(int d, int l) Retourne le texte du JTextArea, qui a pour longueurl à partir de d. String getSelectedText() Retourne le texte sélectionné. void setText(String t) Le texte du JTextArea est remplacé par t. void append(String t) Ajoute le texte t à la fin du JTextArea. void insert(String t, int pos) Insère le texte t à la position pos, dans le JTextArea. void replaceRange(String t,int d,int f) Remplace le texte du JTextArea qui va de d à f par le texte t. void replaceSlection(String t) Remplace le texte sélectionné du JTextArea par le texte t. la classe JTextArea
  • 154. la classe JTextArea int getSelectionStart() Retourne l'indice du début de la sélection. int getSelectionEnd Retourne l'indice de la fin de la sélection. void setSelectionStart(int d) Positionne le début de la sélection. void setSelectionEnd(int e) Positionne la fin de la sélection. Color getSelectedTextColor() Retourne la couleur du texte sélectionné. Color getSelectionColor() Retourne la couleur de fond du texte sélectionné. void setSelectedTextColor(Color c) Change la couleur du texte sélectionné. void setSelectionColor(Color c) Change la couleur du fond du texte sélectionné. void select(int d, int f) Sélectionne le texte de d à f. void selectAll() Sélectionne tout le texte.
  • 155. la classe JTextArea void cut() Coupe le texte sélectionné et le copie dans le presse-papiers. void copy() Copie le texte sélectionné dans le presse-papiers. void paste() Copie le presse-papiers à la place du texte sélectionné.
  • 156. la classe JList La classe JList permet d'afficher une liste d'objets, et offre à l'utilisateur la possibilité de sélectionner un ou plusieurs objets de la liste. JList() Crée un JList vide. JList(Object [] donnees) Crée un JList qui affiche les données contenues dans le tableau donnees. JList(Vector<?> v) Crée un JList qui affiche les données contenues dans le vecteur v. JList (ListModel l) Crée un JList qui affche les données contenues dans le ListModel l.
  • 157. la classe JList int getSelectionMode() Retourne le mode de sélection des données. void setSelectionMode( int sm) javax.swing.ListSelectionModel.SINGLE_SELECTION javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION void setVisibleRowCount( int l) void ensureIndexVisible(int index) Assure que l'item au rang index est visible. void clearSelection() Plus aucun item sélectionné. boolean isSelectionEmpty() Retourne true s'il n'y a aucun item sélectionné. int getLastVisibleIndex() Retourne l'indice du dernier item visible. int getSelectedIndex() Retourne l'indice de l'item sélectionné. int[] getSelectedIncices() Retourne les indices des items sélectionnés. void setSelectedIndex(int i) Affecte l'indice de l'item sélectionné. void setSelectedIndices(int [] i) Affecte les indices des items sélectionnés. Object getSelectedValue() Retourne la valeur de l'item sélectionné. void setSelectedValue(Object v, boolean b) L'item sélectionné devient v. Si b vaut true, il est rendu visible dans le JList. Object[] getSelectedValues() Retourne un tableau des items sélectionnés. ListModel getModel() Retourne le modèle de données affiché par le JList. void setModel(ListModel lm) Le nouveau modèle de données affiché par le JList est lm.
  • 158. la classe JList int getSize() Retourne le nombre d'éléments présents dans la liste. boolean isEmpty() Retourne getSize()==0 void clear() Enlève tous les éléments. void addElement(Object obj) Ajoute element en fin de liste. Object firstElement() Object lastElement() Object get(int index) boolean contains(Object element) Retourne true si element est dans la liste et false sinon. int indexOf(Object element) int indexOf(Object element, int index) int lastIndexOf(Object element) int lastIndexOf(Object element, int index) Object remove(int index) boolean removeElement(Object element) Enlève la première occurrence de element de la liste, et retourne true. Retourne false si element n'est pas dans la liste. void removeRange(int depuis, int jusqua) Enlève de la liste tous les élément d'indices depuis (inclus) à jusqua (exclu). Object set(int index, Object element) DefaultListModel
  • 160. la classe JScrollPane JScrollPane est un conteneur permettant de munir un composant de barres de défilement JScrollBars sont munies d'une stratégie d'affichage qui peut être : • VERTICAL_SCROLLBAR_AS_NEEDED • VERTICAL_SCROLLBAR_NEVER • VERTICAL_SCROLLBAR_ALWAYS • HORIZONTAL_SCROLLBAR_AS_NEEDED • HORIZONTAL_SCROLLBAR_NEVER • HORIZONTAL_SCROLLBAR_ALWAYS JScrollPane() politique horizontale et verticale AS_NEEDED JScrollPane(Component vue ) politique horizontale et verticale AS_NEEDED JScrollPane(Component vue, int vPolitique, int hPolitique) Crée un JScrollPane avec composant vue avec une politique horizontale et une politique verticale JScrollPane(int vPolitique, int hPolitique) Crée un JScrollPane sans composant vue avec une politique horizontale et une politique verticale
  • 161. la classe JScrollPane void setViewPortView( Component c) Affecte le composant Scrollable à visualiser. void setVerticalScrollBarPolicy(int p) Affecte la stratègie d'affichage de la ScrollBar verticale. int getVerticalScrollBarPolicy() void setHorizontalScrollBarPolicy( int p) Affecte la stratègie d'affichage de la ScrollBar verticale. int getHorizontalScrollBarPolicy() void setColumnHeaderView (Component c) Affecte un composant comme en-tête de colonnes
  • 164. JInternalFrame() Crée une JInternalFrame non redimensionnable, non fermable, non maximisable, non iconifiable et sans titre. JInternalFrame(String title) Crée une JInternalFrame non redimensionnable, non fermable, non maximisable et non iconifiable. JInternalFrame(String title, boolean resizable) JInternalFrame(String title, boolean resizable, boolean closable) JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable) JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) la classe JInternalFrame
  • 165. la classe JInternalFrame JDesktopPane getDesktopPane() Retourne le JDesktopPane qui contient cette frame. String getTitle() Retourne le titre de la frame. void setTitle(String t) Affecte le titre de la frame. boolean isSelected() Retourne true si la fenêtre est active void toBack() void toFront()
  • 169. Les événements et les écouteurs L’interface ActionListener et la classe ActionEvent L’interface ItemListener et la classe ItemEvent Les classes anonymes et les classes internes Les classes JMenuBar, JMenu, JMenuItem, JCheckedMenuItem (constructeurs et principales méthodes) Fenêtres de dialogue (JOptionPane) : Message, Saisie et confirmation