executer une methode sur un clic .... - Java - Programmation
Marsh Posté le 03-09-2004 à 19:18:19
Code :
|
edit: faute sur instanceof.
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
}
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 ...