1 Programmation d une montre digitale

Documents pareils
Développement Logiciel

Auto-évaluation Programmation en Java

Programmer en JAVA. par Tama

Projet de programmation (IK3) : TP n 1 Correction

Programmation Par Objets

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Interfaces graphiques avec l API Swing

Introduction au langage Java

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Programmation Objet Java Correction

Synchro et Threads Java TM

INITIATION AU LANGAGE JAVA

Programmation avec des objets : Cours 7. Menu du jour

Une introduction à Java

Corrigé des exercices sur les références

Package Java.util Classe générique

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

TD/TP PAC - Programmation n 3

Un ordonnanceur stupide

Dis papa, c est quoi un bus logiciel réparti?

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Design patterns. Design patterns - définition. Design patterns - avantages

Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Langage Java. Classe de première SI

Threads. Threads. USTL routier 1

Programme Compte bancaire (code)

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Java Licence Professionnelle CISII,

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

PROGRAMMATION PAR OBJETS

Architecture Orientée Service, JSON et API REST

LOG4430 : Architecture logicielle et conception avancée

TP1 : Initiation à Java et Eclipse

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Remote Method Invocation Les classes implémentant Serializable

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Calcul Parallèle. Cours 5 - JAVA RMI

Chapitre 10. Les interfaces Comparable et Comparator 1

Remote Method Invocation en Java (RMI)

Classe Interne, Anonyme & Enumération

Programmation par les Objets en Java

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Java 1.5 : principales nouveautés

Chapitre VI- La validation de la composition.

RMI le langage Java XII-1 JMF

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

TD/TP PAC - Programmation n 3

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Une introduction à la technologie EJB (2/3)

Introduction : les processus. Introduction : les threads. Plan

Premiers Pas en Programmation Objet : les Classes et les Objets

Desktop Intégration. Rémi Forax

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

TD3: tableaux avancées, première classe et chaînes

Objets et Programmation. origine des langages orientés-objet

Remote Method Invocation (RMI)

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

ACTIVITÉ DE PROGRAMMATION

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Bases Java - Eclipse / Netbeans

Environnements de développement (intégrés)

Support de cours et TD Programmation Orientée Objet

as Architecture des Systèmes d Information

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Héritage presque multiple en Java (1/2)

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Serveur d'archivage 2007 Installation et utilisation de la BD exist

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Création d un service web avec NetBeans 5.5 et SJAS 9

Gestion distribuée (par sockets) de banque en Java

INF 321 : mémento de la syntaxe de Java

Flux de données Lecture/Ecriture Fichiers

Programmation d application Bases de données avec Java

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Le Modèle de Sécurité dans JAVA

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

TP, première séquence d exercices.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Initiation à JAVA et à la programmation objet.

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Transcription:

TP 1 : Introduction à la programmation graphique en Java 1 er février 2017 1 Programmation d une montre digitale On voudrais développer une class abstraite Montre qui implante une montre digitale. La classe montre utilise une autre classe abstraite Afficheur qui permet d afficher l heure. Cette classe offre deux méthodes abstraites d affichage de l heure. La première méthode acceptent en entrée trois entiers qui représentent respectivement, les heures, les minutes et les secondes. La deuxième méthode prends en entrée une chaîne de caractères qui représente l heure à afficher. Différents types d afficheurs peuvent être imaginés alors : en mode texte, en mode graphique, etc. Pour réaliser une classe concrète qui implante une montre on doit alors spécifier une classe concrète d affichage qui hérite de la classe Afficheur et une classe concrète de montre qui hérite de la classe Montre Définir la classe abstraite Afficheur public abstract class Afficheur { public abstract void afficher ( int h, int m, int s); public abstract void afficher ( String s); /* methode pour afficher l heure */ Définir la classe abstraite Montre abstract class Montre extends Thread { private int s,m,h; protected Afficheur affiche ; protected boolean am; private boolean mode24 ; private boolean on; public Montre (){ this.s =0; this.m =0; this.h =0; 1

public void seth ( int heure ) throws Exception { if (( heure >=0) && ( heure <=23)){ this.h= heure ; else { throw new Exception (" illegale heure "); public void setm ( int min ) throws Exception { if (( min >=0) && ( min <=60)){ this.m= min ; else { throw new Exception (" illegale Value "); public void sets ( int sec ) throws Exception { if (( sec >=0) && ( sec <=60)){ this.s= sec ; else { throw new Exception (" illegale heure "); public String tostring (){ return (f. format (h)+":"+f. format (m)+":"+f. format (s )); public Afficheur getafficheur (){ return this. affiche ; public void run (){ while ( this.on ){ try { Thread. sleep (1000); catch ( Exception e ){ this.s= this.s +1; if ( this.s ==60){ this.s =0; this.m= this.m +1; if ( this.m ==60){ this.m =0; this.h= this.h +1; 2

if ( this.h ==24){ this.h =0; this. affiche. afficher ( this.h, this.m, this.s); Proposer une classe concrète TextAfficheur qui permet d afficher l heure en mode texte. import java.io.*; class TextAfficheur extends Afficheur { public void afficher ( int h,int m,int s){ String str = f. format (h)+":"+f. format (m)+":"+f. format (s) System. out. println ( str ); Proposer une classe concrète TextMontre qui permet de réaliser une Montre en mode texte. Tester. class TextMontre extends Montre { public TextMontre (){ super (); this. affiche = new TextAfficheur (); public static void main ( String [] args ){ TextMontre m = new TextMontre (); m. start (); Proposer une classe concrète GAfficheur qui permet d afficher l heure en mode graphique. import java. awt.*; import javax. swing.*; 3

public class GAfficheur extends Afficheur { private JPanel panel ; private JLabel label ; public GAfficheur (){ this. panel = new JPanel (); this. label = new JLabel (); this. panel. add ( this. label ); public JPanel getpanel (){ return this. panel ; public void afficher ( int h,int m,int s){ String str = f. format (h)+":"+f. format (m)+":"+f. format (s) this. label. settext ( str ); public void afficher ( String str ){ this. label. settext ( str ); Proposer une classe concrète GMontre qui réalise une montre en mode graphique. Tester import java. awt.*; import javax. swing.*; class GMontre extends Montre { public GMontre (){ super (); this. affiche = new GAfficheur (); public static void main ( String [] args ){ JFrame f = new JFrame (" GMontre "); GMontre m = new GMontre (); GAfficheur a = ( GAfficheur ) m. getafficheur (); f. setcontentpane (a. getpanel ()); f. setvisible ( true ); m. start (); 4

Modifier la montre graphique pour ajouter un buttons qui permet de sélectionner le mode d affichage : mode 12 ou 24. 5