Swing, gridbaglayout et dessin

nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004 - 8 avril 2004 à 17:49
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 9 avril 2004 à 16:54
Bonjour,

j'utilise swing.
je viens de faire en gridbaglayout dans lequel j'ai mis des boutons.
Maintenant j'aimerais pouvoir avoir une zone dans laquel dessiner avec drawline, fillrect...
le truc c'est que j'ai aucune idee de ce que je dois utiliser pour ca. est ce que je dois mettre un textpanel (est ce que je peux dessine dedans) est ce que je peux dessine directement dans mon gridbag (je dois preciseer la case???)
est ce que je dois mettre une zone zone dessinable (et si oui quoi?)

j'espere etre clair
merci d'avance

%-6 J'aime pas java %-6

21 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
8 avril 2004 à 18:38
GodConan :clown)

tu doi crer ta propre class deriver de canevas ou de JPanel et surcharger la methode paint() pour y dessiner ce que tu veu
ensuite tu place ta class ainsi faite ds ton gridbag ;o)

simple... ;o)

tu peu aussi placer un JPanel et crer une methode qui obtien un context sur ce panel pour dessiner ..; ;o) mais c moin BO ;o)

++
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 19:01
A ouais simple bon je vais aller chercher un dico histoire de comprendre tout ce que tu m'as dit...

quelle idee j'ai eu de poser cette question moi...

%-6 J'aime pas java %-6
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 19:24
Bon alors je viens de placer mon jpanel dans mon gridbag.
Bon et maintenat comment je lui dis de dessine dans le jpanel?
%-6 J'aime pas java %-6
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
8 avril 2004 à 20:06
GodConan :clown)

bon deja arete de dire que t aime pas java ;o)

...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 20:15
Bon j'ai essaye divers truc.
Je pense que je dois faire un truc comme ca si j'ai bien compris ce que m'a dit GodConan :

----------------------------------------------------
JPanel jPanelEcran = new JPanel();
jPanelEcran.setBackground(Color.white);// jusque la ca marche

jPanelEcran.paint(g.drawLine(125,200,125,160));//et ca ca marche pas
----------------------------------------------------

je sais pas comment declarer g ni si c comme ca qu'il faut fiare???

merci

%-6 J'aime pas java %-6
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 20:16
bon ok j'arrete de dire que j'aime pas java :)
%-6 Peut etre qu'un jour j'aimerais java %-6
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 20:17
j'ai oublie de dire que je suis un newbie en java.

%-6
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 20:20
EUh au fait tu me parler de canevas en fait tu voulais dire canvas?
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
8 avril 2004 à 20:31
GodConan :clown)

no c pas du tous ca :
essai pluto ca.

JPanel pnl= new JPanel();
Graphics g = pnl.getGraphics();
g.drawLine(125,200,125,160)

mais bon c pas vraiment ca que je t expliker ;o) on va dire que c un debut ;o).

Essaye de lire les exemple du site ;o) ...

++
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 21:11
arf ca marche pas...

C:\jbuilder5\jdk1.3\bin\javaw -classpath "C:\java\projet\calculatrice\calculatrice\classes;C:\jbuilder5\jdk1.3\demo\jfc\Java2D\Java2Demo.jar;C:\jbuilder5\jdk1.3\jre\lib\i18n.jar;C:\jbuilder5\jdk1.3\jre\lib\jaws.jar;C:\jbuilder5\jdk1.3\jre\lib\rt.jar;C:\jbuilder5\jdk1.3\jre\lib\sunrsasign.jar;C:\jbuilder5\jdk1.3\lib\dt.jar;C:\jbuilder5\jdk1.3\lib\tools.jar;C:\jbuilder5\lib\jbuilder.jar" com.borland.jbuilder.runtime.applet.AppletTestbed 400 400 calculatrice.appletcalculatrice
java.lang.NullPointerException

at calculatrice.appletcalculatrice.jbInit(appletcalculatrice.java:111)

at calculatrice.appletcalculatrice.init(appletcalculatrice.java:48)

at com.borland.jbuilder.runtime.applet.AppletTestbed.startApplet(Unknown Source)

at com.borland.jbuilder.runtime.applet.AppletTestbed.main(Unknown Source)
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 21:12
arf c 'est illisble.. :(
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
8 avril 2004 à 21:24
donc en fait c'est la ligne
------------------------------------
g.drawLine(125,200,125,160);
------------------------------------
qui fait planter le programme.

pourtant j'ai bien mis ca:
---------------------------------------
JPanel jPanelEcran= new JPanel();
Graphics g = jPanelEcran.getGraphics();
g.drawLine(125,200,125,160);
--------------------------------------

et j'ai les import suivants
----------------
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import javax.swing.border.*;
------------------------
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
8 avril 2004 à 22:55
GodConan :clown)

essai

JPanel pnl = new JPanel()
{
public void paint( Graphics g )
{
g.drawLine(125,200,125,160);
}
};

pi change d IDE ;o)

++
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
8 avril 2004 à 22:56
GodConan :clown)

aussi fai "super.paint( g );" avant le drawline
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
9 avril 2004 à 00:01
IDE = ?
si l'ide c jbuilder je suis oblige de l'utiliser c celui de la fac.
:(
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
9 avril 2004 à 00:05
GodConan :clown)

ben dommage ;o) Eclipse 100 foi mieu.. ;o)
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
9 avril 2004 à 00:08
Yes Merci t un dieu mec!!!

:big)

(Saute partout dans la chambre parce que ca marche)
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
9 avril 2004 à 00:09
tres important ca le "super.paint( g );" a surtout pas oublier... :big)
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
9 avril 2004 à 00:29
GodConan :clown)
en fait tu peu t en passer sa depend ce que tu veu faire ;o)
ici sa ser a dessiner se kil i a (les composent) dessous ;o)
la le fond... ;o)

++
0
nonoz Messages postés 57 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 23 juin 2004
9 avril 2004 à 01:21
Par contre si je veux que mon dessin soit modifialble par la suite je ne peux pas utiliser ca?

JPanel pnl = new JPanel()
{
public void paint( Graphics g )
{
g.drawLine(125,200,125,160);
}
};


il faut que je fasse une classe?Je vais retomber sur les meme probleme :sad)
0
Rejoignez-nous