Erreur : pas de fonction main en Java
wilfrid_hl2
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
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 ;-)
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 ;-)
A voir également:
- Erreur : pas de fonction main en Java
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
- Comment recuperer whatsapp supprimé par erreur - Guide
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