Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3036 connectés 

 


Dernière réponse
Sujet : [JAVA] interface graphique avec Swing
JeromeV C'est ta classe DessinCanvas qui doit etre actionListener des boutons.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
JeromeV C'est ta classe DessinCanvas qui doit etre actionListener des boutons.
hamstermad voilà je veux créer une interface graphique avec une zone de dessin au centre et une zone de "boutons" en bas...Je voudrais qu'en cliquant sur un bouton un dessin s'affiche dans la zone centrale.
Le problème c que pour différencier les 2 zones je suis obligé de faire 2 classes (enfin je crois...) et je n'arrive pas à relier les conditions d'affichage entre les 2 classes (cad quand je clique sur le bouton A le dessin correspondant doit s'afficher etc...)
Peut-être je n'utilise pas les bonnes fonctions (je découvre Swing et je suis loin d'être un pro en Java!) donc j'aimerais savoir ce que vous en pensez...merci d'avance
 
une partie du code:
 
import java.awt.event.*;  
import java.awt.*;  
import javax.swing.*;  
public class ButtonPanel extends JPanel  
   implements ActionListener     // interface écouteur d'événements  
{  private JButton No;  
   private JButton And;  
   private JButton Or;
   private JButton Xor;
   private int m;
   public ButtonPanel() // constructeur de la classe ButtonPanel  
   {  No = new JButton("AND" );  
      And = new JButton("OR" );  
      Or = new JButton("XOR" );
      Xor = new JButton("NAND" );
      // Insertion des trois boutons dans l'objet ButtonPanel  
      add(No);  
      add(And);  
      add(Or);
      add(Xor);
      // Les sources d'événements sont déclarées à l'écouteur  
      No.addActionListener(this);  
      And.addActionListener(this);  
      Or.addActionListener(this);
      Xor.addActionListener(this);
      }  
               
   public void actionPerformed(ActionEvent evt)  
   // Permet de traiter l'événement en fonction de l'objet source  
   {  Object source = evt.getSource();
      if (source == No) m=1;  
    else if (source == And) m=2;  
    else if (source == Or) m=3;
    else if (source == Xor) m=4;
    }  
}
 
public class DessinCanvas extends JPanel{
    private int m;
    public void paint(Graphics g){
        if (m==1) g.fillRect(50,250,20,20);
        else if (m==2) g.fillRect(100,250,20,20);  
        else if (m==3) g.fillRect(150,250,20,20);
        else if (m==4) g.fillRect(200,250,20,20);
        }
}
 
class ButtonFrame extends JFrame  
{  
    public ButtonFrame()  
   {      
      setTitle("ButtonTest" );  
      setSize(600, 600);
      addWindowListener(new WindowAdapter()  
         {  public void windowClosing(WindowEvent e)  
            {  System.exit(0);  
            }  
         } );  
      Container contentPane = getContentPane();
      contentPane.setLayout(new BorderLayout());
      contentPane.add(new ButtonPanel(),BorderLayout.SOUTH);
      contentPane.add(new DessinCanvas(),BorderLayout.CENTER);
      }
     
}
 
enfin le main :
 
public class ButtonTest  
{  public static void main(String[] args)  
   {  JFrame frame = new ButtonFrame();
         
      frame.show();
     }  
}

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR