Erreur : pas de fonction main en Java

Fermé
wilfrid_hl2 Messages postés 67 Date d'inscription vendredi 8 septembre 2006 Statut Membre Dernière intervention 9 septembre 2007 - 7 mai 2007 à 19:19
 Utilisateur anonyme - 8 mai 2007 à 08:41
Bonsoir,

Je suis débutant en Java et en essayant de lancer un prog (trouvé sur le net), j'ai une erreur du type pas de fonction 'main' .

C'est vrai que dans les exemples de prog que je fais il y à toujours une fonction 'main' présente.

Alors ma question est la suivante, peut-on créer/lancer des prog sans la fonction 'main' .

Pour info voici le prog et je le lance via JavaCréator.

import java.awt.*;
import javax.swing.event.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.lang.Math.*;
import java.util.GregorianCalendar;

public class ClockApp
{
ClockApp()
{
fenetre=new JFrame("JClock");
fenetre.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

calend=new GregorianCalendar();
h=calend.get(GregorianCalendar.HOUR_OF_DAY);
min=calend.get(GregorianCalendar.MINUTE);
sec=calend.get(GregorianCalendar.SECOND);

clockPanel=new ClockPanel();
fenetre.getContentPane().add(clockPanel);
fenetre.setSize(400,400);
fenetre.show();
clockThread=new ClockThread(this);
clockThread.start();

}/* Fin constructeur*/

class ClockPanel extends JPanel
{
public void paintComponent (Graphics g)
{
super.paintComponent(g);

xc=getWidth()/2;
yc=getHeight()/2;
int rayon=Math.min(xc,yc)*80/100;

font= new Font("Times New Roman",0,15);
g.setFont(font);

for(int i=1;i<=12;i++)
{
double angle=i*Math.PI/6.0-Math.PI/2.0;
double x=xc+rayon*Math.cos(angle);
double y=yc+rayon*Math.sin(angle);
g.drawString(" "+i,(int)x,(int)y);
}

/* gestion et affichage de aiguilles*/

double anglesec=(sec*((Math.PI)/30.0)-(Math.PI/2.0));
int xsf=xc+(int)(0.7*rayon*Math.cos(anglesec));
int ysf=yc+(int)(0.7*rayon*Math.sin(anglesec));
g.setColor(Color.red);
g.drawLine(xc,yc,xsf,ysf);

double anglemin=(min*((Math.PI)/30.0)-(Math.PI/2.0));
int xmf=xc+(int)(0.6*rayon*Math.cos(anglemin));
int ymf=yc+(int)(0.6*rayon*Math.sin(anglemin));
g.setColor(Color.yellow);
g.drawLine(xc,yc,xmf,ymf);
double angleheure=(h*((2*Math.PI)/12.0)-(Math.PI/2.0));
int xhf=xc+(int)(0.4*rayon*Math.cos(angleheure));
int yhf=yc+(int)(0.4*rayon*Math.sin(angleheure));
g.setColor(Color.green);
g.drawLine(xc,yc,xhf,yhf);


}/* fin de paintComponent */

}/* fin de classe ClockPanel */

public void increment()
{
sec=sec+1;
if(sec>60)
{
min=min+1;
sec=1;
if(min>60)
{
min=1;
h=h+1;
if(h>12)
{
h=1;
}
}
}
clockPanel.repaint();
}

public static void main (String args[])
{
new ClockApp();
}

private JFrame fenetre;
private GregorianCalendar calend;
private int h,min,sec,xc,yc;
private ClockPanel clockPanel;
private ClockThread clockThread;
private Font font;

}/* fin de classe ClockApp*/

class ClockThread extends Thread
{
ClockThread(ClockApp horloge)
{
this.horloge=horloge;
}
public void run()
{
while(true)
{
horloge.increment();
try
{
sleep(1000);
}
catch(InterruptedException e)
{
}

}
}
private ClockApp horloge;
}


En vous remerciant de vôtre aide ;-)

4 réponses

C'est assez simple . Il suffit de remplacer chaque "import" par "impot" comme ci dessous :

impot java.awt.*;
impot javax.swing.event.*;
impot javax.swing.*;
impot java.awt.event.*;
impot java.util.*;
impot java.lang.Math.*;
impot java.util.GregorianCalendar;

Normalement ensuite ca fonctionne enfin ca a résolu le souci chez moi qui avait le meme probleme .

Cordialement
0
wilfrid_hl2 Messages postés 67 Date d'inscription vendredi 8 septembre 2006 Statut Membre Dernière intervention 9 septembre 2007 1
7 mai 2007 à 19:31
Merci bien, par contre si tu pouvais me dire (ou quelqu'un d'autre) la difference entre import et impot ??

Jamais vu de 'impot' sur le manuel d'apprentissage ;-)
0
import c'est ce quil faut faire pour avoir de l'argent sans payer d'impot

impot c'est ce que tu payes si tu travailles en bon citoyen ^^



Plus serieusement c'est simplement une commande differente qui permet de modifier le texte .

Sinon il faut aller dans MSCONFIG et tout decocher dans le menu "regedit"
0
Utilisateur anonyme
8 mai 2007 à 08:41
Salut!

MSCONFIG? A mon avis tu n'as pas tout compris à Java ;-)

Je viens de répondre ici:

pas de fonction main en java

;-)
HackTrack
0