executer une methode sur un clic ....

executer une methode sur un clic .... - Java - Programmation

Marsh Posté le 03-09-2004 à 18:46:33    

Salut
 
voila j ai un ptit probleme...explication:
 
j ai sur une jform deux Jlabel ( ou autre chose si ca peut aider )-( classe swing ) et je veux lors d'un clic dessus appeller une méthode Test qui ecrit dans le label cliqué ;
 
donc j ai un ecouteur sur chaque label et une methode qui recoit un evenement....a partir duquelle elle doit retrouvé le nom ( jlabel1 par exemple ) et faire par exemple 'jlabel1.setText = " test "' seulement je n y arrive pas ...
 
si qql sait comment on fait ca ...

Reply

Marsh Posté le 03-09-2004 à 18:46:33   

Reply

Marsh Posté le 03-09-2004 à 19:18:19    

Code :
  1. public void mouseClicked(java.awt.event.MouseEvent e)
  2. {
  3.   if( e.getSource() instanceof JLabel)
  4.   ((JLabel) e.getSource()).setText("test" );
  5. }


 
edit: faute sur instanceof.


Message édité par phnatomass le 04-09-2004 à 17:15:25
Reply

Marsh Posté le 03-09-2004 à 19:45:30    

...ca marche po...

Reply

Marsh Posté le 03-09-2004 à 20:41:24    

mais ca m as mit sur la voie et comme ca , ca marche :
 
jLabel1=  (javax.swing.JLabel) evt.getSource();
(j ai trois label avec le meme ecouteur )
 
code complet :
 
/*
 * test.java
 *
 * Created on 3 septembre 2004, 19:42
 */
 
/**
 *
 * @author  michel
 */
public class test extends javax.swing.JApplet {
     
    /** Initializes the applet test */
    public void init() {
        initComponents();
    }
     
    /** This method is called from within the init() method to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    private void initComponents() {
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
 
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
 
        jLabel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
        jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                test(evt);
            }
        });
 
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 40, 40, 40));
 
        jLabel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
        jLabel2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                test(evt);
            }
        });
 
        getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 40, 40, 40));
 
        jLabel3.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
        jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                test(evt);
            }
        });
 
        getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 40, 40, 40));
 
        jLabel4.setBorder(new javax.swing.border.EtchedBorder());
        getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 120, 130, 30));
 
    }
 
    private void test(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
          //if( evt.getSource() instanceOf JLabel)  
         
         
        jLabel1=  (javax.swing.JLabel) evt.getSource();
         
        if(jLabel1.getText() != "X" )
            jLabel1.setText("X" );
        else
            jLabel1.setText("0" );
         
        System.out.println(jLabel1.getName());
        jLabel4.setText(jLabel1.getName());
 
    }
   /*  
public void mouseClicked(java.awt.event.MouseEvent e)  
{  
  if( e.getSource() instanceOf JLabel)  
  ((JLabel) e.getSource()).setText("test" );  
}
*/
     
    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    // End of variables declaration
     
}
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed