lamoufle1 Posté(e) le 9 octobre 2004 Partager Posté(e) le 9 octobre 2004 Bonjour a tous !! je tente désespéremment de tracer une fonction dans une zone de dessin dans une application java et j'y arrive pas !!!! En résumé je place des boutons des labels et autres , et un Canvas histoire de dessiner dedans ma fonction. Malheureusement je n'arrive pas a tracer dans mon objet ou a voir mon objet bref je comprend pas ce qui déconne alors que ça devrait etre tout bête. Je vous donne les quelques ligne de codes si quelqu'un pouvait m'aider ça m'éviterait de devenir chauffe J'ai donc fais une classe MonCanvas : public class MonCanvas extends Canvas { float valeur1=0; float valeur2=0; boolean afficher=false; boolean mode=false; //false on passe en scien public MonCanvas(){ } public void paint(Graphics g) { setSize(100,100); setBackground(Color.black); g.drawLine(300,300,50,50); } j'essaye juste pour le moment de dessiner dans mon canvas Dans un premier temps je place mon canvas a sur 8 colonne 3 lignes aux coordonnées(4,2) et je le rend pas visible pour le moment : g=mc.getGraphics(); gbl.constrain(this,mc,4,2,8,3,GridBagConstraints.NONE,GridBagConstraints.CENTER,0,0,1,1,1,1); mc.setVisible(false); Apres si on clik je le fait apparaitre: String nomDeMenuChoisi = e.getActionCommand(); if (nomDeMenuChoisi.indexOf("scientifique")>=0){ if(!coefA.isVisible()){ System.out.println("je me met en scientifique"); typeFonction.setVisible(true); typeFonction.setText("y=aX+b"); mc.setAfficher(true); a.setVisible(true); b.setVisible(true); c.setVisible(true); coefA.setVisible(true); coefA.setText(""+1); coefB.setVisible(true); coefB.setText(""+1); coefC.setVisible(true); coefC.setText(""+0); b_zin.setVisible(true); b_zout.setVisible(true); b_reset.setVisible(true); b_draw.setVisible(true); mc.setVisible(true); mc.setMode(false); //mc.paint(g); pack(); Lorsque l'on clik sur le bouton draw je veut que la fonction se dessine : if(source == b_draw){ System.out.println("je dois dessiner"); float val1=0; float val2=0; try { val1 = Float.valueOf (coefA.getText ()).floatValue (); val2 = Float.valueOf (coefB.getText ()).floatValue (); }catch (NumberFormatException l) { coefA.setText(""); coefB.setText(""); val1=1; val2=2; } System.out.println("val1 :"+val1+" val2 :"+val2); mc.setVal(val1,val2); mc.paint(g); } Voilou voilou je comprend pas ou j'ai merdé l'objet graphique n'apparait pas ou du moins je ne le vois pas. Merci d'avance de bien vouloir m'expliquer comment ça marche !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 11 octobre 2004 Partager Posté(e) le 11 octobre 2004 au début, ne gère pas l'affichage ou le non affichage du canvas... ensuite tu peux afficher quelque chose dans le canvas, dans le constructeur (afin de voir si l'affichage fonctionne) regarde aussi : - si tu n'ecris pas de la meme couleur que le fond.... - si un autre objet ne se trouve pas dessus le canvas - ... Quelques infos supplémentaires : http://www.eteks.com/coursjava/awtevents10.html#Canvas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.