Title: CSI%201502%20Principes%20fondamentaux%20de%20conception%20de%20logiciels
1CSI 1502Principes fondamentaux de conception de
logiciels
- Chapitre 6 Tableaux
- (suite)
2Objectifs d'apprentissageTableaux - Partie B
- Comprendre les conceptes suivants
- Tableaux Ă plusieurs dimensions
- La classe ArrayList
- Polygones and polylignes types de bouton
3Tableaux Ă deux dimensions
- Un tableau Ă une dimension stocke simplement une
liste de valeurs - Un tableau Ă deux dimensions est une table de
valeurs en lignes et en colonnes - Parce que chaque dimension est un tableau de
références à un tableau, les tableaux pour chaque
dimension peuvent être de différentes longueurs - Parfois appelé tableau inégal (ragged arrays)
- Un élément d'un tableau à deux dimensions désigné
par deux valeurs d'index - int scores new int1010
- value scores 36
- Pour être plus précis, un tableau à deux
dimensions - dans Java est un tableau de tableaux
4Tableaux Ă deux dimensionsTwoDArray.java
public class TwoDArray// create a 2D array of
integers and print thempublic static void main
(String args) int table new
int46 // load values for (int row 0 row
lt table.length row) for (int col 0 col lt
tablerow.length col) tablerowcol
row 10 col // print the values for (int
row 0 row lt table.length row) for (int
col 0 col lt tablerow.length
col) System.out.print(tablerowcol
"\t") System.out.println()
5Tableaux Ă plusieurs dimensions
- Un tableau peut avoir plusieurs dimensions
- S'il y a plus d'une dimension, c'est un tableau Ă
plusieurs dimensions - Chaque dimension subdivise celle précédente dans
le nombre spécifié d'éléments - Chaque dimension a sa propre constante length
- C'est souvent difficile Ă visualiser pour le
humains
6La classe ArrayListAugmenter et Diminuer
- La classe ArrayList fait partie du package
java.util - Comme un tableau, elle peut stocké une liste de
valeurs qui peuvent être référencé par un index - Non comme un tableau, un objet ArrayList augmente
et diminue tel que nécessaire - Les éléments peuvent être inséré ou extrait avec
l'invocation d'une simple méthode - Elle stocke des références à la classe Object
7Quelques méthodes de la classe ArrayList
- ArrayList () // constructor creates an empty
list - boolean add (Object obj) // Add object to end of
list - void add (int index, Object obj) // Add
object at index - void clear() // Remove all elements from the
list - Object remove (int index) //Remove element
at index - Object remove (int index) //Return element
at index without removing it - Boolean isEmpty() //Return true if the list is
empty
8Performance de ArrayList
- La classe ArrayList est implémentée à l'aide d'un
tableau. - Le tableau s'élargit au-delà de sa capacité
initiale pour permettre des éléments additionels
- Il y a des méthodes qui manipulent le tableau
pour les indexes demeurent continus lorsque des
éléments sont insérés ou extraits
9Utiliser ArraylistBeatles.java
- import java.util.ArrayListpublic class Beatles
// stores and modify list of band
members public static void main(String
args) - ArrayList band new ArrayList()
- band.add("Paul") band.add("Pete") band.ad
d("John") band.add("George") - System.out.println(band)
- int location band.indexOf("Pete") band.rem
ove(location) System.out.println(band) - band.add("Ringo") System.out.println(band)
System.out.println("Size of band "
band.size())
10Polygones et Polylignes
- Les tableaux sont souvent utiles dans le domaine
du traitement de graphiques - Les polygones et les polylignes sont des formes
qui peuvent être défini par des valeurs stockées
dans des tableaux - La classe Polygon, défini dans le package
java.awt, peut être utilisé pour définir et
dessiner un polygone - Deux versions des méthodes surchargées
(overloaded) drawPolygon et fillPolygon acceptent
un objet Polygon comme paramètre - Un objet Polygon a encapsulé les coordonnées du
polygone - Voir Rocket.java (page 360)
11Autres types de boutonCase Ă cocher (Check box)
- Une case Ă cocher est un bouton qui peut ĂŞtre
basculé entre les états "activé" et "désactivé" - Une case à cocher est réprésentée par la classe
JCheckBox - Un changement d'état génère un événement item
- Voir StyleOptions.java et StyleGUI.java (pp.
364-5)
SAY IT WITH STYLE!
Bold
Italic
v
12Check boxExtrait de StyleGUI.java
- import javax.swing.
- import java.awt.
- import java.awt.event.
-
- private JLabel saying
- private JCheckBox bold, italic
- private JPanel primary
-
-
- saying new JLabel(Say it with style!)
- bold new JCheckBox(Bold)
- italic new JCheckBox(Italic)
-
-
- StyleListener listerner new StyleListerner()
- bold.addItemListener(listener)
- italic.addItemListener(listener)
- primary new JPanel()
- primary.add(saying)
- primary.add(bold)
- primary.add(italic)
- primary.setBackground(Color.cyan)
- primary.setPreferredSize(new Dimension(300, 100)
13La classe Font
- L'objet Font est défini par le nom, le style et
la taille de la fonte de caractères - Le style d'une fonte peut être "plain", "bold",
"italic", ou "bold" et "italic" ensemble - La méthode itemStateChanged du module d'écoute
(listener) réagit lorsqu'une case de cocher
(check box) change d'Ă©tat - final int FONT_SIZE 32
- int style font.PLAIN
-
- if (bold.isSelected())
- style Font.BOLD
- saying.setFont (new Font(Tahoma, style,
FONT_SIZE)
14Bouton radio
- Un ensemble de boutons radio représente un
ensemble d'options mutuellement exclusifs - Lorsqu'un bouton radio est sélectionné, l'autre
bouton activé dans le groupe est basculé à l'état
désactivé - Un bouton radio génère un événement action
- Voir QuoteOptions.java (page 368-369)
I THINK, THEREFORE I AM
?
?
?
Comedy
Philosophy
Carpentry
15Sommaire Chapitre 6
- TABLEAUX dans Java
- DĂ©claration et utilisation de tableaux
- Passage de tableaux et éléments de tableaux comme
paramètres - Tableaux d'objets
- Tri d'éléments dans un tableau tri par sélection
et tri par insertion - Tableaux Ă plusieurs dimensions
- La classe ArrayList
- Polygones et polylignes types de bouton
16Étudiez jusqu'ici pour l'examen de
mi-sessionChapitre 1 Ă 6
- Bonne Chance!
- Examen de mi-session
- samedi le 6 mars Ă 13h00
- Voir le site web du cours pour plus d'information