Prg Java, pb d'éxécution
sophie
-
foobar47 Messages postés 13654 Statut Contributeur -
foobar47 Messages postés 13654 Statut Contributeur -
Bonjour,
voilà j'ai réalisé un petit programme en java.Il consiste à récupérer la date du système. Il compile mais ne s'exécute pas. Je ne vois pas mon erreur. Sauriez vous me dire où elle se trouve ?
Merci
Mon premier fichier :
import javax.swing.*;
import java.util.*;
public class Horloge{
JFrame fenetre;
JTextField champ;
JButton bouton;
//JPanel divise ma fenetre en ligne Panel1 Panel2,...
JPanel cadre;
String temps;
public void Horloge(){
fenetre = new JFrame("Horloge");
cadre = new JPanel();
bouton = new JButton("OK");
String libelledate = DateCourante();
System.out.println(DateCourante());
champ = new JTextField(libelledate);
fenetre.getContentPane().add(cadre);
cadre.add(bouton);
cadre.add(champ);
}
public String DateCourante(){
Calendar datetoday;
datetoday = Calendar.getInstance();
int jour = datetoday.get(Calendar.DAY_OF_MONTH);
int mois = datetoday.get(Calendar.MONTH) + 1;
int annee = datetoday.get(Calendar.YEAR);
temps = "le" + jour + "/" + mois + "/" + annee;
return temps;
}
public void Affiche(){
//fenetre.pack();
fenetre.setVisible(true);
}
}
Mon main :
public class TestHorloge{
public static void main(String[] args){
Horloge toto = new Horloge();
toto.Affiche();
}
}
voilà j'ai réalisé un petit programme en java.Il consiste à récupérer la date du système. Il compile mais ne s'exécute pas. Je ne vois pas mon erreur. Sauriez vous me dire où elle se trouve ?
Merci
Mon premier fichier :
import javax.swing.*;
import java.util.*;
public class Horloge{
JFrame fenetre;
JTextField champ;
JButton bouton;
//JPanel divise ma fenetre en ligne Panel1 Panel2,...
JPanel cadre;
String temps;
public void Horloge(){
fenetre = new JFrame("Horloge");
cadre = new JPanel();
bouton = new JButton("OK");
String libelledate = DateCourante();
System.out.println(DateCourante());
champ = new JTextField(libelledate);
fenetre.getContentPane().add(cadre);
cadre.add(bouton);
cadre.add(champ);
}
public String DateCourante(){
Calendar datetoday;
datetoday = Calendar.getInstance();
int jour = datetoday.get(Calendar.DAY_OF_MONTH);
int mois = datetoday.get(Calendar.MONTH) + 1;
int annee = datetoday.get(Calendar.YEAR);
temps = "le" + jour + "/" + mois + "/" + annee;
return temps;
}
public void Affiche(){
//fenetre.pack();
fenetre.setVisible(true);
}
}
Mon main :
public class TestHorloge{
public static void main(String[] args){
Horloge toto = new Horloge();
toto.Affiche();
}
}
3 réponses
-
Bonjour,
Je viens de le tester, le programme fonctionne.
Il est correct
Je l'ai testé en un seul fichier
(le jButton OK n'est pas utilisé)
/* * Created on 24 sept. 2003 * */ import javax.swing.*; import java.util.*; public class Horloge{ JFrame fenetre; JTextField champ; JButton bouton; //JPanel divise ma fenetre en ligne Panel1 Panel2,... JPanel cadre; String temps; public Horloge(){ fenetre = new JFrame("Horloge"); cadre = new JPanel(); bouton = new JButton("OK"); String libelledate = DateCourante(); System.out.println(DateCourante()); champ = new JTextField(libelledate); fenetre.getContentPane().add(cadre); cadre.add(bouton); cadre.add(champ); } public String DateCourante(){ Calendar datetoday; datetoday = Calendar.getInstance(); int jour = datetoday.get(Calendar.DAY_OF_MONTH); int mois = datetoday.get(Calendar.MONTH) + 1; int annee = datetoday.get(Calendar.YEAR); temps = "le" + jour + "/" + mois + "/" + annee; return temps; } public void Affiche(){ fenetre.pack(); fenetre.setVisible(true); } public static void main(String[] args){ Horloge toto = new Horloge(); toto.Affiche(); } } -
Oui c'est bon merci.
Je rencontre une autre difficulté. J'aimerais mettre mon bouton OK et mon JTextField dans deux panels différents.
Mais lorsque je mets les instructions :
fenetre.getContentPane().add(cadre);
fenetre.getContentPane().add(cadre2);
mon panel "cadre" disparait.
Comment dois je faire pour voir apparaitre mes deux panels?
Merci-
fenetre.getContentPane().add(cadre);
fenetre.getContentPane().add(cadre2);
tu n'utilise pas de gestionnaire de dispositon, donc ton cadre 2 va écraser ton cadre...
Il faut que tu utilise un gestionnaire de disposition comme BorderLayout par exemple....
Ca devrait donner un truc du style
fenetre.getContentPane().add(cadre, BorderLayout.NORTH);
fenetre.getContentPane().add(cadre2, BorderLayout.SOUTH);
Si tu veux plus d'infos, laisse moi ton mail ou bien va voir la doc en ligne que tu peux aussi télécharger : http://java.sun.com/j2se/1.4.1/docs/api/ -
-
-