IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Boutons et sliders n'ont aucun effet :(


Sujet :

JSF Java

  1. #1
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut Boutons et sliders n'ont aucun effet :(
    Salut,

    Je m'inspire de sources qui fonctionnent, mais moi quand je l'utilise pour mes tests, ça ne fonctionne pas.

    Je veux, pour tester, mettre à jour une image dessinée sur un Graphics2D, soit lorsque l'on déplace un slider, soit lorsque l'on clique sur un bouton.

    Voici un bout de ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <h:form>
        <rich:inputNumberSlider showInput="false" showBoundaryValues="true" showToolTip="false" value="#{paintData.radius}" step="1" minValue="10" maxValue="50">
            <a4j:support event="onchange" reRender="painter" />
            <f:convertNumber />
        </rich:inputNumberSlider>
    </h:form>
     
    <a4j:commandLink  styleClass="button" rendered="true"  value="refresh" action="#{paintData.random}" reRender="painter" />
     
    <rich:paint2D id="painter" width="300" height="300" format="png" data="#{paintData}" paint="#{paintBean.paint}" />
    Voici PaintBean.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import java.awt.Color;
    import java.awt.Graphics2D;
     
    public class PaintBean {
     
    	public void paint(Graphics2D g, Object obj) {
    		System.out.println("********** PAINT ************");
    		g.setColor(Color.RED);
    		PaintData data = (PaintData) obj;
    		g.fillOval(100, 100, data.getRadius(), data.getRadius());
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import java.io.Serializable;
    import java.util.Random;
     
    public class PaintData implements Serializable {
     
    	private static final Random RANDOM = new Random();
     
    	private int radius = 15;
     
    	public int getRadius() {
    		return radius;
    	}
     
    	public void setRadius(int radius) {
    		this.radius = radius;
    	}
     
    	public void random() {
    		setRadius(RANDOM.nextInt(40) + 10);
    	}
     
    }
    La méthode paint() est bien appelée lors du chargement de la page, mais quand je clique sur le bouton ou que je déplace le slider, elle n'est pas réappelée...

    Comment faire cela?

    Merci de votre aide, je débute en JSF

    PS: comme valeur de reRender, j'ai écrit "painter", mais j'ai vu parfois ":painter" (avec un ':' devant), dans les deux cas ça ne marche pas pour moi...

  2. #2
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Points : 332
    Points
    332
    Par défaut
    ton commandlink n'est pas dans le form
    La connaissance est la seule chose qui s'accroit lorsqu'on la partage.

  3. #3
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Ah oui pour le bouton effectivement...


    Pour le reste, je viens de trouver, il veut que mon attribut radius soit un "long" et non un "int" (ça marche en utilisant un long).

    Comment indiquer dans le .jsp (en xml) que le type du radius dans mon Bean est un "int" et non un "long"?

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/05/2010, 10h39
  2. Réponses: 4
    Dernier message: 08/11/2007, 16h15
  3. ON DELETE RESTRICT -> Aucun effet
    Par irongomme dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/10/2007, 17h32
  4. Color et ParentColor : aucun effet
    Par molini_a dans le forum Composants VCL
    Réponses: 6
    Dernier message: 12/09/2007, 11h54
  5. Requête SQL aucun effet sur la base ?
    Par vain_mich dans le forum Hibernate
    Réponses: 5
    Dernier message: 25/05/2007, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo