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 :

dessiner sans dépasser


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Par défaut dessiner sans dépasser
    Bonjour tout le monde,
    Voilà mon problème j'aimerais dessiner dans un jpanel de la façon suivante :
    dès lors que mon dessin s'effectue si les dimensions de mon dessin sont supérieurs au dimension du jpanel, mon dessin ne "sort" pas du jpanel pour continuer dans ma jframe et une jscrollbar s'affiche. Voilà pour l'exposition du problème j'espère ne pas avoir été trop vague et cela doit surement être une question très c***e mais qui m'embete depuis un moment.
    Je vous remercie.
    Cordialement,
    Fterm

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut Bonjour
    en fait c'est pas très clair comme énoncé.

    Ton problème c'est que quand tu dessines, ton dessin ne rentre pas dans ton jpanel, c'est ca?
    Et donc tu voudrais mettre un JScrollPane dans ce cas là?

    Si j'ai bien compris (ca je n'en suis pas sur), il te suffit de mettre un JScrollPane tout le temps et si ton dessin est plus grand que ton JPanel, le scroll s'activera tout seul.

    Ai-je répondu un peu à ta question?

    Cdlt

  3. #3
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Il faudra réajuster la taille du JPanel au besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    drawingArea.setPreferredSize(...);
    drawingArea.revalidate();

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Par défaut
    Merci pour les réponses.
    En faite mon probleme c'est que mon JScrollPanel n'ajoute pas la ScrollBar lorsque je dessine a partir du JScrollPanel et donc le dessin sort des dimensions du JScroll alors que je ne le souhaite pas. Est ce un peu plus claire ? Je ne souhaite pas redimensionné ma zone de dessin tout simplement parce que le dessin risque d'être assez grand. Voilà Merci a tous !
    Cordialement,
    fterm

  5. #5
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Un peu de code pour mieux comprendre.
    As tu bien ajouté le panel de dessin au JScrollPane ?
    Si tu ne veux pas redimensionner ta zone de dessin, il faut lui prévoir une taille suffisamment grande dès le départ.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Par défaut
    code de la JScrollPane :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    /**
     *
     * @author fterm
     */
    import java.awt.event.*;
     
    public class testZone extends javax.swing.JScrollPane implements ActionListener{
     
        private javax.swing.JButton bouton;
        private int choix;
     
        public testZone(){
            super();
            this.setSize(new java.awt.Dimension(200,200));
            this.setLayout(null);
            choix = 0;
            bouton = new javax.swing.JButton("test");
            bouton.setBounds(30, 50, 60, 70);
            bouton.addActionListener(this);
            this.add(bouton);
            this.setVisible(true);
     
        }
        public void actionPerformed(ActionEvent e){
            if(e.getSource()=="test"){
             choix = 1;
             this.repaint();
            }
        }
        public void paint(java.awt.Graphics g){
            if(choix ==1){
                g.drawLine(200, 200, 1100, 1100);
            }
        }
    }
    code de l

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

Discussions similaires

  1. Dessiner sans passer par paint()
    Par Invité dans le forum Android
    Réponses: 8
    Dernier message: 06/11/2009, 23h17
  2. Inclure un dessin sans perte de qualité
    Par Christophe Genolini dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 17/05/2009, 17h00
  3. [TImage]Dessiner sans écraser ?
    Par Bleys dans le forum Delphi
    Réponses: 7
    Dernier message: 22/03/2007, 14h12
  4. [Panel]dessiner sans la méthode paint()
    Par paolo2002 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 20/10/2006, 02h35
  5. [C# 2.0] Modifier un dessin sans tout redessiner
    Par falcon dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/10/2006, 16h48

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