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

AWT/Swing Java Discussion :

Actualisation du JScrollPane lors d'un zoom sur un JPanel dessin


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    IED Web
    Inscrit en
    Octobre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : IED Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut Actualisation du JScrollPane lors d'un zoom sur un JPanel dessin
    Bonjour,

    J'ai cherché pas mal sur le forum une solution et en ai testé plusieurs, mais sans succés jusqu'à maintenant.. Je me tourne donc vers votre aide!

    J'ai un JPanel avec un PaintComponent, qui dessines un pianoRoll et avec le clic gauche, zoom sur le pianoRoll et le clic droit, dezoom.
    Sauf que je ne sais pas comment annoncer à la JScrollPane de prendre en compte les redimensions.

    public class MidiPaint {

    static int hautFra = 600;
    static int largFra = 800;

    public static void main(String[] args){
    JFrame fen = new JFrame("Piano Roll");

    PianoR p = new PianoR();
    JScrollPane j= new JScrollPane(p);
    fen.getContentPane().add(j);

    ...

    fen.setSize(largFra,hautFra);
    fen.setVisible(true);
    }
    }
    Et

    class PianoR extends JPanel implements MouseListener {

    PianoRoll pianoRoll = new PianoRoll();
    ...
    int hautFen= 1800;
    int largFen= 2000;

    public PianoR(){
    setPreferredSize(new Dimension(largFen,hautFen));
    addMouseListener(this);
    }

    public void paintComponent(Graphics g){
    super.paintComponent(g);
    tracesConstruct(g);
    tracesSons(g);
    }

    ...

    public void mouseClicked(MouseEvent e) {
    if ((e.getModifiers() & InputEvent.BUTTON1_MASK)== InputEvent.BUTTON1_MASK){
    //zoom +
    hautFen= hautFen*2;
    largFen= largFen*2;
    repaint();
    }
    if ((e.getModifiers() & InputEvent.BUTTON3_MASK)== InputEvent.BUTTON3_MASK){
    //zoom -
    hautFen= hautFen/2;
    largFen= largFen/2;
    repaint();
    }
    }
    }
    J'ai tenté de remettre le JScrollPane dans le constructeur de la classe PianoR pour plus de facilité à la manipuler ( JScrollPane j= new JScrollPane(this); ) mais sans succés.. elle ne s'affiche pas..
    J'ai tenté divers validate(), revalidate(), updateUI(), setPreferedSize(...) à divers endroits, sans succés non plu...

    Si vous pouvez m'aidez?! Je vous en serez reconnaissant! Merci!

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    ce qui est certain, c'est que pour redimensionner le JPanel, il faut au moins appeler setPreferredSize() puis revalidate() dans mouseClicked. Normalement ça devrait suffire.

  3. #3
    Membre régulier
    Profil pro
    IED Web
    Inscrit en
    Octobre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : IED Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Ca marche!
    J'ai testé des choses similaires pas loin de cette solution mais, mal testées.. arf!
    Merci xavlours!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/11/2011, 01h08
  2. Zoom sur un JPanel ?
    Par nemo_str dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 13/05/2008, 14h59
  3. Réponses: 2
    Dernier message: 09/04/2007, 23h54
  4. zoom sur image de formulaire
    Par bourvil dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/10/2003, 10h25
  5. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 11h40

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