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

  FORUM HardWare.fr
  Programmation
  Java

  Ajouter des Canvas ds JScrollPane

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouter des Canvas ds JScrollPane

n°587923
_Dim_
Posté le 10-12-2003 à 23:05:32  profilanswer
 

bon alors voilà  g fait un tit prog a la con pour tester un truc...
betement pour ajouter des label progressivement ds un JScrollPane
tout tourne nikel avec le code suivant  
 
 
void jButton1_mouseClicked(MouseEvent e) {
Canvas huhu = new couleur();
JLabel jLabel2 = new JLabel();
i=i+jLabel2.HEIGHT+13;
 
jLabel2.setHorizontalAlignment(SwingConstants.LEADING);
jLabel2.setHorizontalTextPosition(SwingConstants.LEADING);
jLabel2.setText(" "+i+" " );
jLabel2.setVerticalAlignment(SwingConstants.BOTTOM);
jLabel2.setVerticalTextPosition(SwingConstants.BOTTOM);
jPanel1.setPreferredSize(new Dimension(0,i));
 
jPanel1.add(jLabel2);
jScrollPane1.validate();
JScrollBar sbv = jScrollPane1.getVerticalScrollBar();
sbv.setValueIsAdjusting( true );
sbv.setValue( sbv.getMaximum() );
}
}
 
mais now j'aimerais a la place d'ajouter des labels, rajouter des canvas ki serait de ce type
 
public class couleur extends Canvas {
 
  public void paint (Graphics g){
 
      String pseudo = " "+Cadre1.i+" ";
 
      g.drawRect(0, 0, 160, 15);
      g.setColor(new Color(238, 241, 179));
      g.fillRect(1, 1, 159, 14);
      g.setColor(Color.black);
      g.setFont(new java.awt.Font("Verdana", 1, 10));
      g.drawString(pseudo + " :: age :: ville", 4, 12);
    }
 
  }
le seul prob c ke kan je fait jPanel1.add(new couleur()); bah il le dessine une fois ... mais les ajoutes pas au fur et a mesure l'un en dessous de l'autre et les superposes meme pas sur le premier dessiner :(
 
si klk un pouvais m'expliker la subtiliter a faire pour réussir l'enroule ...
 
dsl si ca parait logik pr certain :s
 
merci d'avance  :bounce:


Message édité par _Dim_ le 11-12-2003 à 17:02:06
mood
Publicité
Posté le 10-12-2003 à 23:05:32  profilanswer
 

n°588330
_Dim_
Posté le 11-12-2003 à 14:24:38  profilanswer
 

personne c m'aider? :(
 
AIDER MOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  :cry:  :(  :cry:


Message édité par _Dim_ le 11-12-2003 à 16:46:43
n°588558
_Dim_
Posté le 11-12-2003 à 19:37:08  profilanswer
 

c ma question ki est pas clair ou vous boycoter mon topic? :p

n°588709
Cherrytree
cn=?
Posté le 11-12-2003 à 22:37:08  profilanswer
 

J'ai pas compris.
 
Je soupçonne que tu as besoin de la méthode repaint(), mais comme je ne saisis pas ta formulation, tu me pardonneras cette réponse.


---------------
Le site de ma maman
n°588821
_Dim_
Posté le 12-12-2003 à 00:11:13  profilanswer
 

g réussi a résoudre le problem :) mais now ... g un prob
quand j'ajoute au fur et a mesure les canvas... bah... v mettre une img ca ira plus vite :)
http://dim.kiti.be/huhu.jpg
 
donc wala si klk un c me dire cmt ne pas modifier le contenu de tout a la fois mais just du dernier ke je viens d'ajouter ... pcq je comprend pas :'(


Message édité par _Dim_ le 12-12-2003 à 00:11:28
n°588857
Cherrytree
cn=?
Posté le 12-12-2003 à 06:54:28  profilanswer
 

Modifier le contenu ? C'est quoi le contenu ? C'est "380 :: age :: ville" ? Putain parle clairement, on comprends rien à ton problème.


---------------
Le site de ma maman
n°589068
_Dim_
Posté le 12-12-2003 à 12:49:18  profilanswer
 

ben en fait les bloc bleu avec ecrit 380 :: age :: ville je les ajoute progressivement en clikant sur le bouton et le 380 c un int et ilc ommence a 20 ... et normalement il devrait ecrire 20 pi 40 pi 60 l'un en dessous de l'autre ... mais là il ecrit 20 puis 40 mais le 20 et réécrit en 40 ... donc sur l'image ya des 380 partout :s et je comprend pas comment lui dire de pas modifier tout ceux qu'il a ajouter ...

n°589105
Cherrytree
cn=?
Posté le 12-12-2003 à 14:01:18  profilanswer
 

Tu utilises i, qui est un entier public. comment évolues i ?
 
Clairement, si tu fais i += 20; le résultat est normal, puisque ce que tu fais, c'est dire comment l'élément doit être dessiné. A l'instant t, si i vaut 380, tous tes éléments écrivent 380.


---------------
Le site de ma maman
n°589118
_Dim_
Posté le 12-12-2003 à 14:19:35  profilanswer
 

ah ok ... ben i est de type static car il est appeler dans couleur() depuis la frame principale...
moi j'aimerais qu'il bouge pas mais vu que mon but c de lui passer une string qu'il l'écrit et qu'elle bouge plus ... c pas trop ca lol
 
ya moyen de dire de pas tout redessiner mais seulement dessiner le dernier ajouter?

n°589821
_Dim_
Posté le 13-12-2003 à 03:20:28  profilanswer
 

no idea?

mood
Publicité
Posté le 13-12-2003 à 03:20:28  profilanswer
 

n°589839
meumeul
Stay Heavy
Posté le 13-12-2003 à 10:17:02  profilanswer
 

canvas ca reste un peu flou pour moi...


Message édité par meumeul le 13-12-2003 à 10:20:06
n°590020
_Dim_
Posté le 13-12-2003 à 17:41:49  profilanswer
 

pour moi ossi ma fois :D mais jaimerais comprendre :p

n°590315
Cherrytree
cn=?
Posté le 14-12-2003 à 08:25:24  profilanswer
 

_Dim_ a écrit :

ah ok ... ben i est de type static car il est appeler dans couleur() depuis la frame principale...
moi j'aimerais qu'il bouge pas mais vu que mon but c de lui passer une string qu'il l'écrit et qu'elle bouge plus ... c pas trop ca lol
 
ya moyen de dire de pas tout redessiner mais seulement dessiner le dernier ajouter?


Aïe !
 
Bon, alors primo : tu ne peux pas demander à une partie de ton interface ne pas se redessiner, la méthode paint() est par construction appelée par exemple lorsque une fenêtre masque ton programme.
 
Deuxio, i ne peut pas être static. C'est une caractéristique de ton canvas, ça n'a aucun sens d'en faire une variable static.
 
Tertion, je ne sais pas ce que tu comptes faire de ton Canvas, mais parti comme c'est parti, j'affirme assez volontiers que ce n'est pas la classe qu'il te faut. Jète un coup d'oeil sur JList.


---------------
Le site de ma maman
n°590349
_Dim_
Posté le 14-12-2003 à 12:10:01  profilanswer
 

ben les jList c bien joli mais c bien moche ossi lol ... ce ki est pratique avec paint c que tu peux dessiner de la couleur que tu veux ect et que avec le JList c'est une autre paire de manche... fin... tant pis alors
mais chuis sur que ya moyen :)

n°590353
Cherrytree
cn=?
Posté le 14-12-2003 à 12:16:23  profilanswer
 

Bien sûr qu'il y a moyen, avec Canvas pourquoi pas.
 
Seulement, ton code est manifestement mauvais. i ne doit pas être static, c'est incompatible avec ton problème. En revanche, si tu tiens à garder i tel qu'il est, chaque Canvas doit disposer d'une copie de i, ayant la valeur que i avait lors de l'instantiation du Canvas.


---------------
Le site de ma maman
n°590371
_Dim_
Posté le 14-12-2003 à 13:12:16  profilanswer
 

en fait g capté... je déclarais la string ki allait contenir le i dans la methode paint() et now je l'ai déclaré avant et il garde l'ancienne valeur ds les anciens :D
 
merci pour tout :)


Message édité par _Dim_ le 14-12-2003 à 13:12:27
n°590420
Cherrytree
cn=?
Posté le 14-12-2003 à 14:59:12  profilanswer
 

Voilà, c'est une manière de faire. En somme la copie de i dont je te parlais figure dans l'objet String. C'était une possibilité.


---------------
Le site de ma maman
n°590568
_Dim_
Posté le 14-12-2003 à 18:16:03  profilanswer
 

merci bien en tout cas :)
now v essayer d'ajouter des listeners dessus ... mais c pas gagner :)


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

  Ajouter des Canvas ds JScrollPane

 

Sujets relatifs
[RESOLUT] JScrollPane AutoScroolTomcat 4 - Ajouter des réptoires ou les .jar sont "sniffés"
JScrollPane[Java-Swing] Auto positionnement d'un JScrollPane
JScrollPane - Problème de MAJAjouter une tache dans le planificateur de taches Windows via le code
Impossible d'ajouter des slashs [ - Job's Done - ]Je n'y connais rien, juste ajouter un petit lien
[WSAD] ajouter un projet à une config serveurajouter un lien vers une page si sa derniere modif a moins de 15j
Plus de sujets relatifs à : Ajouter des Canvas ds JScrollPane


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