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 :

Programmer des boutons qui dessinent des figures


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut Programmer des boutons qui dessinent des figures
    Bonjour,

    J'ai du mal à comprendre comment dessine t-on des figures (Rectangle par exemple) lorsque l'on clic sur un bouton. Déjà, est-ce que c'est possible de mettre 1 bouton dans une JFrame et que lorsqu'on clic dessus ça dessine une figure dans un JPanel (qui est dans ce même JFrame) ?

    J'ai essayé ceci :
    Classe héritée de JFrame
    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
    public class Test extends JFrame{
        public TestJP panel;
        public JButton but1;
     
        public Test(){
    	this.setTitle("fenetre");
    	this.setSize(500, 520);
    	but1=new JButton("bouton");
    	but1.addActionListener(new Act());
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	this.setLocationRelativeTo(null);
     
    	panel = new TestJP();
    	this.getContentPane().add(but1);
    	this.getContentPane().add(panel);
    	this.setVisible(true);
        }
     
        public class Act implements ActionListener{	    
        	public void actionPerformed(ActionEvent arg0) { 
    	    panel.repaint();
        	}
        }
     
     
     
        public static void main(String [] arg){
    	Test t = new Test();
        }
    }
    Class héritée de JPanel:

    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
    public class TestJP extends JPanel{
     
        public TestJP(){
    	super();
    	setBackground(Color.blue);
        }
     
        public void paintComponent(Graphics g){
    	super.paintComponent(g);
    	Graphics2D g2d = (Graphics2D)g;
    	dessine(g2d);
     
        }
     
        public void dessine(Graphics2D g2d){
    	g2d.drawRect(10,50,40,60);
     
        }
    }
    Mais ça m'affiche qu'un rectangle (pas de bouton). Des solutions ?

    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    J'imagine que tu as déjà trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getContentPane().add(but1,BorderLayout.North);
    le content page a un border layout par defaut

Discussions similaires

  1. creer un bouton qui lance des requetes en fonction d'une colonne
    Par akdmks dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/12/2007, 17h41
  2. Des boutons qui affichent des sous formulaires
    Par nicolas2603 dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2007, 15h43
  3. Réponses: 9
    Dernier message: 24/03/2007, 22h37
  4. probleme avec un programme en JS qui realise des calculs
    Par leclone dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/09/2006, 18h09
  5. [swing][JButton] Des boutons qui disparaissent!
    Par soulhouf dans le forum Débuter
    Réponses: 12
    Dernier message: 19/08/2005, 12h51

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