Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1699 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Gestionnaire de planning employé ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Gestionnaire de planning employé ?

n°806683
boubavic
Posté le 26-07-2004 à 17:19:40  profilanswer
 

Bonjour a tous,
 
Je suis en train de faire un gestionnaire de planning en java (fiche employé, heure sup, recup etc.) mais je ne sais pas trop comment presenter tout ca ... comment afficher le calendrier (sachant qu'il doit etre cliquable et selectionnable ).
 
J'ai pensé dans un premier utiliser des JTable ...
 
Voila qu'en pensez vous ?
 
Merci d'avance

mood
Publicité
Posté le 26-07-2004 à 17:19:40  profilanswer
 

n°807283
TBone
Pouet.
Posté le 27-07-2004 à 09:42:06  profilanswer
 

avant de penser à des JTable et autres, il vaut mieux dessiner sur papier comment tu comptes visualiser les choses... ce sera bôcoup plus facile après


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
n°807395
boubavic
Posté le 27-07-2004 à 11:15:53  profilanswer
 

ben oui je sais deja comment ca sera ...pour l'instant je pense que je vais me tourner vers la solution dessin total avec des drawLine et compagnie ...
 
Parce qu'en fait je dois pouvoir afficher les planning par semaine, mois, trimestre ...donc ...
Mais je sens que ca va pas etre facile ...

n°807690
boubavic
Posté le 27-07-2004 à 14:55:57  profilanswer
 

pour l'instant je pense que je vais faire une classe Tache (date, h deb, h fin,intitulé) et qu'avec chaque entrée de ma base de donnée je remplis un objet tache ...m'enfin c'est pas encore toute a fait clair tout ca

n°807740
lorill
Posté le 27-07-2004 à 15:31:14  profilanswer
 
n°807773
boubavic
Posté le 27-07-2004 à 16:01:37  profilanswer
 

ca a l'air bien mais pas moyen de le tester ...il manque des classes ...


Message édité par boubavic le 27-07-2004 à 16:01:52
n°807819
lorill
Posté le 27-07-2004 à 16:52:24  profilanswer
 

boubavic a écrit :

ca a l'air bien mais pas moyen de le tester ...il manque des classes ...


tout est la, ce qui manque est ailleurs dans la repository

n°807961
boubavic
Posté le 27-07-2004 à 18:49:32  profilanswer
 

vu tout ce qu'il y a ca va etre assez chaud de tout retrouver ...m'enfin merci je vais prospecter dans cette voie histoire d'avoir des ptites idées

n°807962
lorill
Posté le 27-07-2004 à 18:50:51  profilanswer
 

boubavic a écrit :

vu tout ce qu'il y a ca va etre assez chaud de tout retrouver ...m'enfin merci je vais prospecter dans cette voie histoire d'avoir des ptites idées


de toutes facons, l'idée ce n'est pas de tout reprendre tel quel, mais de te proposer une autre piste que la JTable.  
 
Tu peux regarder en gros comment sont organisés les MonthView & DayView, ca devrait suffire.

n°808884
boubavic
Posté le 28-07-2004 à 16:56:18  profilanswer
 

Salut,
 
J'ai cette classe qui dessine un simple cadrillage.
 
J'aimerai savoir comment faire pour donner une taille fixe au panel...(et donc jouer sur les scrollbar pour la visualisation)
 
Par ce que le cadrillage actuel est trop petit a mon gout en largeur...je voudrais donc fixé une taille pour le JPanel
 
et donc faire :
 
WeekView toto = new WeekView();
JFrame frame = new JFrame ();
frame.getContentPane().add(new JScrollPane(toto));
 
 

Code :
  1. public class WeekView extends JPanel {
  2. public void paintComponent(Graphics comp) {
  3.  //setSize(2000,768);
  4.  int tmp = (getWidth()-6)/20;
  5.  int tmp2 = (getHeight()-6)/7;
  6.  Graphics2D comp2D = (Graphics2D) comp;
  7.  comp2D.drawRect(2,2,getWidth()-6,getHeight()-6);
  8.  for (int i = 0; i<7;i++) {
  9.   comp2D.drawLine(2,2+(i*tmp2),getWidth()-6,2+(i*tmp2));
  10.  }
  11.  for (int i = 0; i<20;i++) {
  12.   comp2D.drawLine(2+(i*tmp),2,2+(i*tmp),getHeight()-6);
  13.  }
  14.  //comp2D.drawString("toto",315,300);
  15. }
  16. }


 
Merci a vous

mood
Publicité
Posté le 28-07-2004 à 16:56:18  profilanswer
 

n°809658
axk47
Java Man vs Boolet Man
Posté le 29-07-2004 à 10:33:39  profilanswer
 

1-Définis un contructor pour ta classe et met la taille que tu désire: setSize(getPreferredSize())
 
2- redefinis getPreferredSize(), getMinimumSize() et getMaximumSize() et mets les tailles que tu desires
 


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
n°810094
boubavic
Posté le 29-07-2004 à 15:49:25  profilanswer
 

merci bcp ca marche mieux comme ca ;)
 
Par contre j'ai encore une question, quelle fonction je dois utiliser pour rafraichir correctement ma fenetre quand j'utilise les scrollbar ? Parce que pour l'instant ben ca me fait comme si ben ca redessinait au meme endroit au fur et a mesure

n°810671
boubavic
Posté le 30-07-2004 à 08:36:07  profilanswer
 

up

n°810771
boubavic
Posté le 30-07-2004 à 10:04:20  profilanswer
 

http://forum.tt-hardware.com/uploads/repainy.1091174627.JPG
 
Voila ce que je voudrais eviter merci

n°810795
axk47
Java Man vs Boolet Man
Posté le 30-07-2004 à 10:16:44  profilanswer
 

utiliser JScrollPane a la place des scrollBar
 
code:
JPanel monComposant=new JPanel();

Code :
  1. JScrollPane scrolls= new JScrollPane(monComposant);
  2. //remplacer mon composant par le composant que tu desires mettre des scrolls la dessus
  3. mafenetre.add(scrolls);


 
ça devrait marcher je pense


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
n°810804
boubavic
Posté le 30-07-2004 à 10:26:23  profilanswer
 

bah c'est un jscrollpane

Code :
  1. public class Principale extends JFrame {
  2. public Principale() {
  3.   jPanel1 = new WeekView();
  4.   /*...*/
  5.   split = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT ,new JScrollPane(myTree) , new JScrollPane(jPanel1));
  6.   /*...*/
  7. }
  8. /*...*/
  9. class WeekView extends JPanel {
  10. public WeekView() {
  11.  setSize(getPreferredSize());
  12.  setPreferredSize(new Dimension(2048,500));
  13.  setMinimumSize(new Dimension(2048,500));
  14.  setMaximumSize(new Dimension(2048,500));
  15. }
  16. public void paintComponent(Graphics comp) {
  17.  int tmp = (getWidth()-6)/20;
  18.  int tmp2 = (getHeight()-6)/7;
  19.  Graphics2D comp2D = (Graphics2D) comp;
  20.  //les jours de la semaine
  21.  for (int i = 0; i<MyUtil.DAY.length;i++) {
  22.   comp2D.drawString(MyUtil.DAY[i],8,(tmp2*i)+70);
  23.  }
  24.  //les heures
  25.  for (int i = 7; i<23;i++) {
  26.   if (i < 10)
  27.    comp2D.drawString("0"+i+"h00",tmp*(i-7)+70,15);
  28.   else
  29.    comp2D.drawString(i+"h00",tmp*(i-7)+70,15);
  30.  }
  31.  //comp2D.drawRect(60,30,getWidth()-6,getHeight()-6);
  32.  for (int i = 0; i<7;i++) {
  33.   comp2D.drawLine(60,30+(i*tmp2),getWidth()-6,30+(i*tmp2));
  34.  }
  35.  for (int i = 0; i<20;i++) {
  36.   comp2D.drawLine(60+(i*tmp),30,60+(i*tmp),getHeight()-6);
  37.  }
  38.  //update(comp);
  39.  //comp2D.drawString("toto",315,300);
  40.  //repaint();
  41. }
  42. }

n°810876
axk47
Java Man vs Boolet Man
Posté le 30-07-2004 à 11:11:17  profilanswer
 

je vois pourquoi (jespere) :)  
rajoute en debut de ta methode paintComponent(...) l'appelle a ta super classe
fais  

Code :
  1. super.paintComponent(comp);


pour evitre le flashing
 
le code devrait ressembler a ça
 
 

Code :
  1. public class Principale extends JFrame {
  2.    
  3. public Principale() {
  4.         jPanel1 = new WeekView();
  5.         /*...*/
  6.         split = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT ,new JScrollPane(myTree) , new JScrollPane(jPanel1));
  7.         /*...*/
  8.     }
  9.    
  10.     /*...*/
  11.     class WeekView extends JPanel {
  12.        
  13.        public WeekView() {
  14.           setSize(getPreferredSize());
  15.           setPreferredSize(new Dimension(2048,500));
  16.           setMinimumSize(new Dimension(2048,500));
  17.           setMaximumSize(new Dimension(2048,500));
  18.        }
  19.        
  20.        public  void paintComponent(Graphics comp) {
  21.          
  22.          
  23.          
  24.           int tmp = (getWidth()-6)/20;
  25.           int tmp2 = (getHeight()-6)/7;
  26.          
  27.           Graphics2D comp2D = (Graphics2D) comp;
  28.          
  29.           //les jours de la semaine
  30.           for (int i = 0; i<MyUtil.DAY.length;i++) {
  31.              comp2D.drawString(MyUtil.DAY[i],8,(tmp2*i)+70);
  32.              
  33.           }
  34.          
  35.           //les heures
  36.           for (int i = 7; i<23;i++) {
  37.              if (i < 10)
  38.                 comp2D.drawString("0"+i+"h00",tmp*(i-7)+70,15);
  39.              else 
  40.                 comp2D.drawString(i+"h00",tmp*(i-7)+70,15);
  41.           }
  42.          
  43.           //comp2D.drawRect(60,30,getWidth()-6,getHeight()-6);
  44.          
  45.           for (int i = 0; i<7;i++) {
  46.              comp2D.drawLine(60,30+(i*tmp2),getWidth()-6,30+(i*tmp2));
  47.           }
  48.          
  49.           for (int i = 0; i<20;i++) {
  50.              comp2D.drawLine(60+(i*tmp),30,60+(i*tmp),getHeight()-6);
  51.           }
  52.           //update(comp);
  53.           //comp2D.drawString("toto",315,300);
  54.           //repaint();
  55.        }
  56.     }


 
jespere que cette fois ce sera bon


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
n°810879
axk47
Java Man vs Boolet Man
Posté le 30-07-2004 à 11:12:14  profilanswer
 

je vois pourquoi (jespere) :)  
rajoute en debut de ta methode paintComponent(...) l'appelle a ta super classe
fais  

Code :
  1. super.paintComponent(comp);


pour evitre le flashing
 
le code devrait ressembler a ça
 
 

Code :
  1. public class Principale extends JFrame {
  2.    
  3. public Principale() {
  4.         jPanel1 = new WeekView();
  5.         /*...*/
  6.         split = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT ,new JScrollPane(myTree) , new JScrollPane(jPanel1));
  7.         /*...*/
  8.     }
  9.    
  10.     /*...*/
  11.     class WeekView extends JPanel {
  12.        
  13.        public WeekView() {
  14.           setSize(getPreferredSize());
  15.           setPreferredSize(new Dimension(2048,500));
  16.           setMinimumSize(new Dimension(2048,500));
  17.           setMaximumSize(new Dimension(2048,500));
  18.        }
  19.        
  20.        public  void paintComponent(Graphics comp) {
  21.          
  22.           super.paintComponent(comp);
  23.          
  24.           int tmp = (getWidth()-6)/20;
  25.           int tmp2 = (getHeight()-6)/7;
  26.          
  27.           Graphics2D comp2D = (Graphics2D) comp;
  28.          
  29.           //les jours de la semaine
  30.           for (int i = 0; i<MyUtil.DAY.length;i++) {
  31.              comp2D.drawString(MyUtil.DAY[i],8,(tmp2*i)+70);
  32.              
  33.           }
  34.          
  35.           //les heures
  36.           for (int i = 7; i<23;i++) {
  37.              if (i < 10)
  38.                 comp2D.drawString("0"+i+"h00",tmp*(i-7)+70,15);
  39.              else 
  40.                 comp2D.drawString(i+"h00",tmp*(i-7)+70,15);
  41.           }
  42.          
  43.           //comp2D.drawRect(60,30,getWidth()-6,getHeight()-6);
  44.          
  45.           for (int i = 0; i<7;i++) {
  46.              comp2D.drawLine(60,30+(i*tmp2),getWidth()-6,30+(i*tmp2));
  47.           }
  48.          
  49.           for (int i = 0; i<20;i++) {
  50.              comp2D.drawLine(60+(i*tmp),30,60+(i*tmp),getHeight()-6);
  51.           }
  52.           //update(comp);
  53.           //comp2D.drawString("toto",315,300);
  54.           //repaint();
  55.        }
  56.     }


 
jespere que cette fois ce sera bon


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
n°810932
fb@alphalo​g
Posté le 30-07-2004 à 11:35:46  profilanswer
 

[:drapo] ( j'ai un planificateur de tache a programmer )

n°810954
boubavic
Posté le 30-07-2004 à 11:42:04  profilanswer
 

cad ? tu peux en dire plus ?

n°810959
boubavic
Posté le 30-07-2004 à 11:44:09  profilanswer
 

Merci a toi axk47 ... ca marche mieux ;) ....tu peux m'expliquer pourquoi d'ailleurs ? (tant qu'a faire que je comprenne). D'ailleurs je sais pas a quoi ca sert ce "super(***)"

n°810961
fb@alphalo​g
Posté le 30-07-2004 à 11:44:25  profilanswer
 

je marque ce topic pour le retrouver facilement
je dois faire une appli de sauvegarde de données  
et donc il y aura un planificateur de tache hebdomadaire a faire  
je ne savais pas trop par quel bout j'allais attaqué ce probleme et j'ai recuper qq idée ici

n°811119
axk47
Java Man vs Boolet Man
Posté le 30-07-2004 à 13:44:15  profilanswer
 

boubavic a écrit :

Merci a toi axk47 ... ca marche mieux ;) ....tu peux m'expliquer pourquoi d'ailleurs ? (tant qu'a faire que je comprenne). D'ailleurs je sais pas a quoi ca sert ce "super(***)"


 
Tant mieux si ça marche :jap:  
 
l'appelle a

Code :
  1. super.paintComponent(comp)

permet d'eviter le flashing et de faire un repaint() correct...
 
j'arrete mon blabla et je te file un lien qui explique tout ça clairement
pour jette un coup d'oeil dans la doc suivante (in english, mais c tres clair pour un programmeur)  
http://java.sun.com/products/jfc/t [...] index.html
 
si t'as d'autres questions n'hésite pas


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
n°811184
boubavic
Posté le 30-07-2004 à 14:34:44  profilanswer
 

merci ca m'avait saouler cette histoire... le probleme c'est que c'est toujours des ptits probleme a la con dans ce genre ... m'enfin

n°811507
veryfree
Posté le 30-07-2004 à 19:08:55  profilanswer
 


 
c'est quoi qu'on vois dans ta barre de titre ?

n°812065
boubavic
Posté le 31-07-2004 à 19:15:23  profilanswer
 

en haut a droite en vert ? c'est une extension des drivers nvidia tout simplemenent

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Gestionnaire de planning employé ?

 

Sujets relatifs
[java] Convertisseur de bookmarks : choix techniques[java] question toute bete : "int_to_string" ..??
Applet Java ne fonctionne pas en local[Java] Multithreading et gestion des exceptions
récupération du login windows en JAVA SCRIPTJAVA 3D
[JAVA] package ... does not exist[Java][Swing] Layout avec component centré non maximisé
[java] peut on gérer des fichiers excel ?Parser une structure XML en Java
Plus de sujets relatifs à : [Java] Gestionnaire de planning employé ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR