Erreur : pas de fonction main en Java
wilfrid_hl2
Messages postés
67
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
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 ;-)
--
M.C.D.S.T. Support utilisateurs et résolution
des problèmes liés au système d'exploitation Windows XP.
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 ;-)
--
M.C.D.S.T. Support utilisateurs et résolution
des problèmes liés au système d'exploitation Windows XP.
Configuration: Windows XP Internet Explorer 6.0
A voir également:
- Erreur : pas de fonction main en Java
- Erreur 0x80070570 ✓ - Forum Windows 10
- Erreur s3 bbox - Forum Bbox Bouygues
- Erreur 4101 - Forum Carte graphique
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur France TV : impossible de lire les vidéos en replay - Forum Lecteurs et supports vidéo
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
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
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 ;-)
Jamais vu de 'impot' sur le manuel d'apprentissage ;-)
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"
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"
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
MSCONFIG? A mon avis tu n'as pas tout compris à Java ;-)
Je viens de répondre ici:
pas de fonction main en java
;-)
HackTrack