IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

erreur dans une applet


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Points : 45
    Points
    45
    Par défaut erreur dans une applet
    Comme exercice , je développe une applet qui affiche un horloge indiquant l'heure du système .
    J'ai commencé en dessinant le cercle de l'horloge et les numéros (4 numéros au début) .
    Puis je dois définir les extrémités des aiguilles pour pouvoir les dessiner.
    J'ai commencé par celle des minutes et voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    import java.awt.*;
    import java.applet.*;
    import java.math.*;
    import java.util.*;
     
     
     public class reloje extends Applet {
    	int x=0,y=0;
    	public  void init() {
     
     
    	}
     
    	public  void paint(Graphics g) {
    			g.drawOval(200,100 , 150, 150);
     
    		g.drawString("12",270,112);
    		g.drawString("9",202,180);
    		g.drawString("3",342,180);
    		g.drawString("6",272,247);
    Calendar madate=Calendar.getInstance();
                    int min=madate.get(Calendar.MINUTE);
     
                    x=(Integer)(Math.round(ext.abcisse(ext.anglemin( min ))));
                    y=(Integer)(Math.round(ext.ordonné(ext.anglemin( min ))));
                    g.drawLine(275, 175, x, y);
    	}
     
     class ext  {
     	int x , y ;
        static final float pi=3.141f ;
     
     	public static float anglemin(int min){
     		int minu=0 ;
     		minu = min ;
     		float alfa=0 ; 
     			if(minu <15){
     				alfa = (pi/2-minu*pi/30) ;}
     
     						else if (15 <= minu & minu< 30){
     							alfa= (15- minu)*pi/30;}
     							else if (30<= minu & minu < 45){
     							alfa=3*pi/2-(minu - 30)*pi/30;	}
     							else if (45<= minu & minu <60){
     								alfa= pi-(minu-45)*pi/30;
     							}
     		return alfa ;
     
     	}
     
    	public static float abcisse(float alfa){
            float a=0 ;
            a= (float) Math.cos(alfa)*72;        
            return a;
            }
          static   float ordonné(float alfa){
            float b =0;
            b = (float) Math.sin(alfa)*72;
            return b ;
     
            }
     
     }

    mais en exécutant j'ai eu ce message:


    java.lang.NoSuchMethodError: main
    Exception in thread "main"
    Process completed.

    merci pour votre aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Bonjour (¡Hola!),

    Le point d'entrée de ton app. est public void init(), étant donné que tu n'as pas de main, tu ne peux la lancer directement.

    Tu ne peux le faire qu'à partir d'une classe principale avec main(...
    reloje.init();
    ou transformer init() en main(...

    Cordialement,

    Dan

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Points : 45
    Points
    45
    Par défaut meme si
    Merci pour ta réponse ..
    mais j'ai essayé de faire ça mais en compilant j'ai un message d'erreur indiquant qu'on peut pas référencer init() depuis un contexte static méme si je qualifie la methode init() en static .

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Je tente de compiler reloje, mais il manque une fermeture de bloc }

    peux-tu me préciser où que je compile le même programme que toi !

    merci

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Points : 45
    Points
    45
    Par défaut voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
     
    import java.awt.*;
    import java.applet.*;
    import java.math.*;
    import java.util.*;
     
     
     public class reloje extends Applet {
    	int x=0,y=0;
    	public  void init() {
     
     
    	}
     
    	public  void paint(Graphics g) {
    			g.drawOval(200,100 , 150, 150);
     
    		g.drawString("12",270,112);
    		g.drawString("9",202,180);
    		g.drawString("3",342,180);
    		g.drawString("6",272,247);
    Calendar madate=Calendar.getInstance();
                    int min=madate.get(Calendar.MINUTE);
     
                    x=(Integer)(Math.round(ext.abcisse(ext.anglemin( min ))));
                    y=(Integer)(Math.round(ext.ordonné(ext.anglemin( min ))));
                    g.drawLine(275, 175, x, y);
    	}}
     
     class ext  {
     	int x , y ;
        static final float pi=3.141f ;
     
     	public static float anglemin(int min){
     		int minu=0 ;
     		minu = min ;
     		float alfa=0 ; 
     			if(minu <15){
     				alfa = (pi/2-minu*pi/30) ;}
     
     						else if (15 <= minu & minu< 30){
     							alfa= (15- minu)*pi/30;}
     							else if (30<= minu & minu < 45){
     							alfa=3*pi/2-(minu - 30)*pi/30;	}
     							else if (45<= minu & minu <60){
     								alfa= pi-(minu-45)*pi/30;
     							}
     		return alfa ;
     
     	}
     
    	public static float abcisse(float alfa){
            float a=0 ;
            a= (float) Math.cos(alfa)*72;        
            return a;
            }
          static   float ordonné(float alfa){
            float b =0;
            b = (float) Math.sin(alfa)*72;
            return b ;
     
            }
     
     }

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    OK,

    J'ai tout simplement oublié qu'il s'agissait d'une APPLET.

    On compile sans init()

    puis on crée un fichier .html :

    <APPLET CODE=Reloje.class WIDTH = 400 HEIGHT = 400>
    </APPLET>
    que l'on appelle par exemple Reloje.html.
    Le sauvegarder en texte, pas en rtf

    Pour un premier éssai on ouvre le dossier où sont les prog. et on clique sur Reloje.html

    Remarques :

    -Ce .html est le minimum que l'on puisse créer (j'ai choisi une fenêtre de 400/400), c'est un exemple.

    -J'a nommé ta classe reloje() Reloje pour respecter les conventions de nom de classe et le .html Reloje.html, mais le nom n'est pas obligatoirement le nom du programme (.htm serait valable).

    -Tu peux créer un accès direct (clique gauche).
    puis envoyer cet accès direct sur le burreau (clique gauche sur l'accès direct) et envoyer sur le burreau.

    Cordialement,

    Dan

    C'est ok mais pas encore au point mais tu vas pouvoir avancer.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    PS,

    Si tu as un message de sécurité, tu l'ignore en fermant la fenêtre d'avertissement et tu vois les options (click) et tu autorises.

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Points : 45
    Points
    45
    Par défaut c bon merci
    Merci , comme ta dis je peux continuer .
    mais sa ma pas donné le résultat que cherchais je pense que je me suis tromper en ce qui concerne l'extraction de l'heure du system , que pense tu dan?

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut Date et heure
    Re,

    ERA AD

    YEAR 1970

    MONTH 0 à 11

    DAY_OF_MONTH 1

    DAY_OF_WEEK the first day of week

    WEEK_OF_MONTH 0

    DAY_OF_WEEK_IN_MONTH 1

    AM_PM AM

    HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND

    Pour obtenir la date du jour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    GregorianCalendar madate = new GregorianCalendar();
                // obtention des composants de la date :
             int annee = madate.get(Calendar.YEAR);
             int mois = madate.get(Calendar.MONTH);
             int jour = madate.get(Calendar.DAY_OF_MONTH);
             int heure = madate.get(Calendar.HOUR_OF_DAY);
             int min = madate get(Calendar.MINUTE);
             int sec = madate get(Calendar.SECOND);
    A+, je suis obligé de m'absenter, n'hésites pas pour + d'infos!

    Cordialement,

    Dan

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 107
    Points : 45
    Points
    45
    Par défaut merci
    ok merci pour tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06
  2. [erreur dans une proc]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 11/03/2005, 12h45
  3. Réponses: 2
    Dernier message: 11/08/2004, 15h01
  4. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  5. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo