probleme avec setColor() // applet

probleme avec setColor() // applet - Java - Programmation

Marsh Posté le 12-12-2005 à 20:41:56    

Bonsoir :hello:  
Alors voila j'ai un probleme j'essaye de faire un bete applet tout moche pour afficher un drapeau (le francais bien sur [:cupra])
Jusque la tout va bien, j'y arrive c'est po trop dur [:dawao]
Mais comme tout n'est jamais rose, me voila essayant de tenter de demander les couleurs a afficher (j'utilise JOptionPane) ca j'y arrive.
Mais lorsqui'il faut faire manger ce que l'utilisateur a dit a setColor() ben ca va plus [:huit]
Je sais pas trop comment faire.[:pingouino]
Est ce qu'il faut que je passe par les RGB (il me semble deja avoir vu ca) ou y'a t'il une autre methode plus mieux?
Sinon je peux faire une comparaison avec toutes les couleurs existantes de ce que l'utilisateur m'a donne...  :pt1cable:  
 
A tout hasard voila mon code qu'il est pas beau  

Code :
  1. import java.applet.Applet;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. public class appletDrapeau extends Applet{
  5. int hauteur=100;
  6. int longueur;
  7. String donnee, couleur1;
  8. public void init(){
  9.  //donnee = JOptionPane.showInputDialog("Entrez la hauteur du drapeau : " );
  10.  //hauteur = Integer.parseInt(donnee);
  11.  couleur1 = JOptionPane.showInputDialog("Entrez la premiere couleur du drapeau(sous la forme Color.couleur) : " );
  12. }
  13. public void paint (Graphics g){
  14.  longueur = (int)(hauteur*2/3);
  15.  g.setColor(couleur1);
  16.  g.fillRect(10,10,longueur, hauteur);
  17. }
  18. }


 
Si jamais vous aviez une idee.
Merci bien de m'avoir ecoute [:klem3i1]
 
 
edit de derniere seconde : je vais manger je reviens apres! bon app a tous je suis reviendu :D


Message édité par gocho le 12-12-2005 à 21:22:19
Reply

Marsh Posté le 12-12-2005 à 20:41:56   

Reply

Marsh Posté le 12-12-2005 à 21:28:53    

Alors t'as le choix de proposer des couleurs en faisant genre

Code :
  1. g.setColor(Color.BLACK);


par exemple (autres couleurs disponibles sur http://java.sun.com/j2se/1.4.2/doc [...] Color.html )
ou sinon demander à l'utilisateur trois valeurs qu'on appellera r, v, b pour utiliser comme ça :

Code :
  1. g.setColor(new Color(r,v,b));


Message édité par rnoizet le 12-12-2005 à 21:29:58
Reply

Marsh Posté le 12-12-2005 à 21:46:01    

ben le probleme c'est que (cf mon code) je demande la couleur sous la forme Color.nomCouleur que je mets dans un String.
Mais la fonction setColor ne prend pas de String en argument.
Finalement je cherche le moyen de convertir un String en Color si c'est possible
Parce que les couleurs RGB c'est pas que c'est pas pratique mais bon...

Reply

Marsh Posté le 12-12-2005 à 22:01:49    

Personne il a des idees ? :(

Reply

Marsh Posté le 12-12-2005 à 22:16:28    

Hében tu fais une JList avec la correspondance string / couleur

Reply

Marsh Posté le 12-12-2005 à 22:19:35    

Je connais pas les JList...mais je pense que ca revient dans tous les cas a devoir lister toutes les possibilites :'(
J'ai rien trouve d'autres snif...
Merci quand meme

Reply

Marsh Posté le 12-12-2005 à 23:22:40    

Ouais mais tu peux faire une JList qui affiche des couleurs ou des trucs en couleur, qui sont créés comme ça :

Code :
  1. <mode porky on>
  2. int pas = 16;
  3. for(int r=0;r<256;r+=pas)
  4. for(int v=0;v<256;v+=pas)
  5. for(int b=0;b<256;b+=pas)
  6. {
  7.      liste.ajouter(Color(r,v,b))
  8. }
  9. </mode>


Avec un pas suffisamment grand pour pas créer ouatemille couleurs.


Message édité par rnoizet le 12-12-2005 à 23:23:07
Reply

Marsh Posté le 18-12-2005 à 00:11:18    

moi je pensais tout simplement à un repaint après le setcolor ;)

Reply

Marsh Posté le 18-12-2005 à 18:29:19    

petit probleme de comprehension...je veux pas changer de couleur apres avoir dessine une fois.
Je souhaiterais demander la couleur que veux l'utilisateur.
exemple :  

Code :
  1. $quelle couleur souhaitez vous?
  2. $Color.red


et la je voudrais recuperer ce que m'a demande le gusse et faire un setColor() de Color.red, soit
Mais...comme ce que m'a repondu l'utilisateur est un string ben setColor en veux pas...et je sais pas comment convertir ca sans faire une table de correspondance [:dawao]

Reply

Marsh Posté le 19-12-2005 à 12:58:44    

Color.decode(...)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 19-12-2005 à 12:58:44   

Reply

Marsh Posté le 22-12-2005 à 03:11:54    


Color col1,col2,col3;
public void init(){
couleur1 = JOptionPane.showInputDialog("Entrez la premiere couleur du drapeau(Color.couleur) : " );
couleur2 = JOptionPane.showInputDialog("Entrez la deuxieme couleur du drapeau(Color.couleur) : " );
couleur3 = JOptionPane.showInputDialog("Entrez la troisieme couleur du drapeau(Color.couleur) : " );
col1 = Color.decode(couleur1);
col2 = Color.decode(couleur2);
col3 = Color.decode(couleur3);
}
public void paint (Graphics g){
 g.setColor(col1);
  g.fillRect(10,10,longueur, hauteur);
  g.setColor(col2);
  g.fillRect(10+longueur,10,longueur, hauteur);
  g.setColor(col3);
  g.fillRect(10+(2*longueur),10, longueur, hauteur);
}


Bon ben j'i essaye avec color.decode() et ca veux pas non plus... [:sisicaivrai]  
 
 
 
java.lang.NumberFormatException: For input string: "Color.red"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:518)
at appletDrapeau.init(appletDrapeau.java:18)
at sun.applet.AppletPanel.run(AppletPanel.java:354)
at java.lang.Thread.run(Thread.java:534)
 
 
voila ce que ce desagreable shell me balance  [:kiki]

Reply

Marsh Posté le 22-12-2005 à 03:16:41    

ptain mais lis la doc, boulet [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 22-12-2005 à 20:20:34    

je sais faut lui filer en string la valeur hexa...(c'est ca [:cupra]) ?)
Mais moi j'aurais souhaite lui donner comme dans mon exemple.
Apparemment y'a pas d'autres moyens que de passer par une table d'equivalence donc...

Reply

Marsh Posté le 22-12-2005 à 20:48:27    

et un JColorChooser ce serait pas mieux pour faire ce genre de trucs ? [:pingouino]

Reply

Marsh Posté le 23-12-2005 à 01:03:18    

si si mais je voulais juste me prendre la tete (et pas que la mienne [:cupra]) en essayant de demander en texte.Mais bon c'est sur que le Jcolorchooser peut etre vraiment mieux :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed