Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : HELP HELP HELP !!!!!!!! [ Archives / Au secours ] (poupoule00)

vendredi 21 mai 2004 à 21:28:10 | HELP HELP HELP !!!!!!!!

poupoule00

Boonjour et merci d'avance de me repondre.
J'ai un projet a faire en jCreator qui consiste a entrer une date(jourdelasemaine, numero du jour, mois, annee) et pouvoir ensuite afficher le jour precedent ou le jour suivant. Et le tout dans un interface graphique.
Mon probleme se situe au niveau du lien entre la programmation du calendrie et l'interface graphique.
La programmation du calendrier doit etre juste par contre pour tout ce ki concerne l'inteface graphique
Donc si vous pouvez m'indiquer mes erreurs ce serez extremement gentil.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class JourSemaine
{
private int j;
private static final String[]t = { "LUNDI" , "MARDI" , "MERCREDI" , "JEUDI" , "VENDREDI" , "SAMEDI" , "DIMANCHE" };
public static final int LUNDI = 0;
public static final int MARDI = 1;
public static final int MERCREDI = 2;
public static final int JEUDI = 3;
public static final int VENDREDI = 4;
public static final int SAMEDI = 5;
public static final int DIMANCHE = 6;
public JourSemaine(int jour) throws Exception
{
if(!(0 <= jour && jour <= 6)) throw new Exception("jour de semaine invalide");
j = jour;
}
public String toString()
{
return t[this.j];
}
public JourSemaine suivant() throws Exception
{
return new JourSemaine(t[(this.j + 1)%7]);
}
public JourSemaine precedent() throws Exception
{
return new JourSemaine(t[(this.j + 6)%7]);
}
public JourSemaine(String jour) throws Exception
{
this(OperationDate.recherche(jour.trim(),t));
}
}
class OperationDate
{
public static int recherche(String s,String[]t)
/* renvoie i tq s =t[i] renvoie -1 si s n'est pas ds []t */
{
int i ;
i = 0;
while (i<t.length)
{
if (s.equalsIgnoreCase(t[i])) return i;
++i;
}
return -1;
}
public static boolean estBissextile(int a)
/* renvoie vraie si a est une année bissextile */
{
if (a%4==0) return true;
return false;
}
}
class Mois
{
private int m;
private static final String[]g = { "JANVIER" , "FEVRIER" , "MARS" , "AVRIL" , "MAI" , "JUIN" , "JUILLET" , "AOUT" , "SEPTEMBRE" , "OCTOBRE" , "NOVEMBRE" , "DECEMBRE" };
public static final int JANVIER = 0;
public static final int FEVRIER = 1;
public static final int MARS = 2;
public static final int AVRIL = 3;
public static final int MAI = 4;
public static final int JUIN = 5;
public static final int JUILLET = 6;
public static final int AOUT = 7;
public static final int SEPTEMBRE = 8;
public static final int OCTOBRE= 9;
public static final int NOVEMBRE = 10;
public static final int DECEMBRE = 11;
private static final int[]nb = {31,28,31,30,31,30,31,31,30,31,30,31};
public Mois(int mois) throws Exception
{
if (!(0<= mois && mois <=11)) throw new Exception ("mois invalide");
m = mois;
}
public Mois suiv()throws Exception
{
return new Mois(g[(this.m + 1)%12]);
}
public Mois préc() throws Exception
{
return new Mois (g[(this.m + 11)%12]);
}
public Mois(String m) throws Exception
{
this(OperationDate.recherche(m.trim(),g));
}
public int longueur(int an)
{
if (OperationDate.estBissextile(an) && this.m == FEVRIER) return 29;
else return nb[this.m];
}
public String toString()
{
return g[this.m];
}
public int numero()
{
return m;
}
}
class Date
{
private int jourMois;
private Mois mois;
private int annee;
public Date (Date d)
{
jourMois = d.jourMois;
mois = d.mois;
annee = d.annee;
}
public Date(int j,Mois m,int a) throws Exception
{
int l;
l = m.longueur(a);
if(!((1<= j) && (j <= l)))throw new Exception("date incorrecte");
jourMois = j;
mois = m;
annee = a;
}
public Date(int j,String m,int a) throws Exception
{
this(j,new Mois(m),a);
}
public String toString()
{
String s1,s2,s3;
s1 = Integer.toString(this.jourMois);
s2 = this.mois.toString();
s3 = Integer.toString(this.annee);
return s1 +" "+s2+" "+s3 ;
}
public Date suivante() throws Exception
{
int js;
Mois ms;
int as;
js = this.jourMois;
ms = this.mois;
as = this.annee;
int l;
l = ms.longueur(as);
if(js<l) ++js;
else
{
js =1;
ms = ms.suiv();
if (ms.numero() == mois.JANVIER) ++ as;
}
try
{
return new Date(js,ms,as);
}
catch (Exception e) {return this;}
}
public Date precedente() throws Exception
{
int jp;
Mois mp;
int ap;
jp = this.jourMois;
mp = this.mois;
ap = this.annee;
if (jp == 1)
{
mp = mp.préc();
jp = mp.longueur(ap);
if(mp.numero() == Mois.DECEMBRE) ap = ap -1;
}
else jp = jp -1;
try
{
return new Date(jp,mp,ap);
}
catch (Exception e) {return this;}
}
public int jourDuMois()
{
return this.jourMois;
}
}
class Calendrier extends Date
{
private JourSemaine jourSemaine;
public Calendrier(JourSemaine jSemaine,int jMois,Mois mois,int annee) throws Exception
{
super(jMois,mois,annee);
jourSemaine = jSemaine;
}
public Calendrier (String jSemaine,int jMois,String mois,int annee) throws Exception
{
this( new JourSemaine(jSemaine),jMois,new Mois(mois),annee);
}
public Calendrier (JourSemaine jSemaine,Date d)
{
super(d);
jourSemaine = jSemaine;
}
public Calendrier suivant() throws Exception
{
return new Calendrier(this.jourSemaine.suivant(),super.suivante());
}
public Calendrier precedent() throws Exception
{
return new Calendrier(this.jourSemaine.precedent(),super.precedente());
}
public String toString()
{
String s1,s2;
s1 = this.jourSemaine.toString();
s2 = super.toString();
return s1+" "+s2;
}
public JourSemaine jourDeSemaine()
{
return this.jourSemaine;
}
}
class Etiquette extends Label
{
public Etiquette(String titre,Container c)
{
super(titre);
c.add(this);
}
}
class Bouton extends Button
{
public Bouton(String libelle,Container c,ActionListener a)
{
super(libelle);
c.add(this);
addActionListener(a);
}
}
class Sortie extends TextField
{
public Sortie(String mess,Container c)
{
super(mess,15);
c.add(this);
setEditable(false);
}
}
class Entree extends TextField
{
public Entree(String entree,Container c,ActionListener a)
{
super(entree,15);
c.add(this);
addActionListener(a);
}
}
class PanneauCentre extends Panel
{
Etiquette jourDeSemaine,jour,mois,annee,vide;
Entree cadre12,cadre13,cadre14;
Sortie cadre21,cadre22,cadre23,cadre24;
private static int lundi =0;
private static int mardi = 1;
private static int mercredi = 2;
private static int jeudi = 3;
private static int vendredi=4;
private static int samedi =5;
private static int dimanche =6;
List cadre11;
public PanneauCentre(ActionListener a)
{
setLayout(new GridLayout(3,4));
setBackground(Color.yellow);
jourDeSemaine = new Etiquette("jour de semaine",this);
jour = new Etiquette(" jour",this);
mois = new Etiquette(" mois",this);
annee = new Etiquette(" annee",this);
List listeJourSemaine = new List(7,false);
listeJourSemaine.add("LUNDI");
listeJourSemaine.add("MARDI");
listeJourSemaine.add("MERCREDI");
listeJourSemaine.add("JEUDI");
listeJourSemaine.add("VENDREDI");
listeJourSemaine.add("SAMEDI");
listeJourSemaine.add("DIMANCHE");
cadre11 = listeJourSemaine;
add(cadre11);
cadre12 = new Entree("1",this,a);
cadre13 = new Entree("JANVIER",this,a);
cadre14 =new Entree("2004",this,a);
cadre21 = new Sortie("",this);
cadre22 = new Sortie("",this);
cadre23 = new Sortie("",this);
cadre24 = new Sortie("",this);
}
}
class PanneauSud extends Panel
{
Etiquette vide;
public static Checkbox cbg1,cbg2 ;
public static CheckboxGroup cbg ;
public PanneauSud(ActionListener a)
{
setLayout(new GridLayout(1, 3));
vide = new Etiquette("",this);
cbg = new CheckboxGroup();
cbg1 = new Checkbox("jour précédent",cbg ,true);
cbg2 = new Checkbox("jour suivant", cbg, false);
add(cbg1) ;
add(cbg2) ;
setBackground(Color.yellow);
addActionListener(a);
}
}
class PanneauEst extends Panel
{
Bouton ok;
public PanneauEst(ActionListener a)
{
ok = new Bouton("ok",this,a);
setBackground(Color.yellow);
}
}
class PanneauOuest extends Panel
{
Etiquette aujourdui,resultat,vide;
public PanneauOuest(ActionListener a)
{
setLayout(new GridLayout(3,1));
vide = new Etiquette("",this);
aujourdui = new Etiquette(" aujourd'hui ",this);
resultat = new Etiquette(" hier ",this);
setBackground(Color.yellow);
addActionListener(a) ;
}
}
class MonCalendrier extends Frame
{
PanneauCentre panneauCentre;
PanneauSud panneauSud;
PanneauEst panneauEst;
PanneauOuest panneauOuest;
Terminaison terminaison;
EcouteurPlus ecouteurPlus;
private void place()
{
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
int he,hf,le,lf;
int Ox,Oy;
he =(int)(d.getHeight());
le = (int)(d.getWidth());
hf = he/2;lf =le/2;
Ox = le/3; Oy = he/3;
setLocation(Ox,Oy);
setSize(lf,hf);
}
public MonCalendrier(String titre)
{
super(titre);
place() ;
setLayout(new BorderLayout());
panneauCentre = new PanneauCentre(ecouteurPlus);
add(panneauCentre,BorderLayout.CENTER);
panneauSud = new PanneauSud();
add(panneauSud,BorderLayout.SOUTH);
panneauEst = new PanneauEst(ecouteurPlus);
add(panneauEst,BorderLayout.EAST);
panneauOuest = new PanneauOuest(ecouteurPlus);
add(panneauOuest,BorderLayout.WEST);
terminaison = new Terminaison(this);
ecouteurPlus = new EcouteurPlus();
panneauEst.ok.addActionListener(ecouteurPlus);
}
}
class TestMonCalendrier
{
static MonCalendrier m;
public static void main(String[]arg)
{
m = new MonCalendrier("mon calendrier");
m.show();
}
}
class Terminaison extends WindowAdapter
{
public Terminaison(Window w)
{
super();
w.addWindowListener(this);
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class EcouteurPlus implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String jourDeSemaine1,jourDeSemaine2;
String mois1,mois2;
String jour2,annee2 ;
String jour1 , annee1;
CheckboxGroup cbg;
Calendrier hier, demain ;
try
{
jourDeSemaine1 = TestMonCalendrier.m.panneauCentre.cadre11.getSelectedItem();
jour1 = TestMonCalendrier.m.panneauCentre.cadre12.getText();
mois1 = TestMonCalendrier.m.panneauCentre.cadre13.getText();
annee1 = TestMonCalendrier.m.panneauCentre.cadre14.getText();
if (PanneauSud.cbg1 == PanneauSud.cbg.getSelectedCheckbox())
{
jourDeSemaine2 = JourSemaine.precedent(jourDeSemaine1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(jourDeSemaine2);
jour2 = Date.precedente(jour1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(jour2);
mois2 = Date.precedente(mois1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(mois2);
annee2 = Date.precedente(annee1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(annee2);
TestMonCalendrier.m.panneauOuest.resultat.setText("hier");
}
else if(PanneauSud.cbg2 == PanneauSud.cbg.getSelectedCheckbox())
{
jourDeSemaine2 = Calendrier.suivant(jourDeSemaine1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(jourDeSemaine2); jour2 = Calendrier.suivant(jour1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(jour2);
mois2 = Calendrier.suivant(mois1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(mois2);
annee2 = Calendrier.suivant(annee1);
TestMonCalendrier.m.panneauCentre.cadre21.setText(annee2);
TestMonCalendrier.m.panneauOuest.resultat.setText("demain");
}
}
catch (Exception erreur)
{
JOptionPane.showMessageDialog (TestMonCalendrier.m,"le contenu d'un des champs n'est pas correct","erreur de saisie",JOptionPane.ERROR_MESSAGE);
}
}
}


samedi 22 mai 2004 à 11:10:15 | Re : HELP HELP HELP !!!!!!!!

lafoune2

va voir la doc sur la classe GregorianCalendar , cette classe te permettera deja de diminuer tes lignes de codes car elle est concue pour gerer les calendriers avec les parametres que tu a a entrer ...

http://java.sun.com/j2se/1.4.2/docs/api/


dimanche 23 mai 2004 à 21:21:56 | Re : HELP HELP HELP !!!!!!!!

poupoule00


merci du conseil mais le pb c'est que le partie programmation du calendrier a ete faite en cour donc on est oblige de l'utiliser.
Par contre au niveau del'interface graphique on ajuste un poly d'explication des graphiques.



Cette discussion est classé dans : public, int, string, static, mois


Répondre à ce message

Sujets en rapport avec ce message

Question de philosophie "héritages" [ par omcougar ] Bonjour, Je m'amuse en ce moment sur les transferts de données... Pour définir la tête des mes trames j'ai créé une classe statique TrameData que enco problème d'éxucution [ par Brigadiste ] slt,SVP, j'ai un problème, de mettre une List dans un Vector pour le traiter de suitNB: le code est de découper un fichier texte, le mettre sur google mon ticker ne marche pas [ par bessamira ] Bonjour a tout le monde,j'ai fait une applet java d'un ticker j'ecrit le code mais toujours ne marche plus,je travaille sous eclipse,mon code est le s non-static variable Dialysis1 cannot be referenced from a static context [ par shadowmic ] Voilà bonjours tout le monde je m'excuse de poser une question aussi con mais je suis un débutant en java.erreur : non-static variable Dialysis1 canno <html:select> récupérer valeur sélectionnée [ par forcels ] Hello !Je travaille actuellement sur un site web réalisé en JSP, et j'ai un petit soucis par rapport à une liste .Je souhaite récupérer la valeur séle insertion des donnés apartir de fichier + java + oracle [ par emiliebella ] Bonjour,J'ai un probleme et je veux bien que qqn m'aide.J' essai d'inserer des données dans une bd oracle 8i à partir d'un fichier.txt; ma table conti interface graphique swing [ par franfr57 ] Je vais vous décrire ma fenêtre que je désire faire :nom de la fenêtre : Portail des anciens étudiantsavec 6 onglets en haut de l'écran : Gestion des static [ par Ombitious_Developper ] salut Tous:En C/C++, si on déclare au sein d'une fonction une variable avec le modificateur "static" alors cette dernière restera "en vie" tout au lon Insertion de donnée dans une base [ par sissi25 ] Bonjour,Je voudrais récupérer des données contenues dans des jTextField et les insérer dans une base de donnéeVoici mon code : public class Facture ex affectation variable dans un tableau [ par developvbdebut ] bonjour tout le mondeJ'ai un problème, je n'arrive pas à affecter des variable dans une JTableVoici la class tableaupreveimport java.awt.*;import java


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.