user interface - Click counter Java GUI -


this program supposed count mouse clicks counts first one. help!! code not complicated dont understand why counts first click. resets after stop clicking

import java.awt.eventqueue; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.jlabel; import java.awt.font; import java.awt.event.mouseadapter; import java.awt.event.mouseevent;  public class clickcounter {      private jframe frame;      /**      * launch application.      */     public static void main(string[] args) {         eventqueue.invokelater(new runnable() {             public void run() {                 try {                     clickcounter window = new clickcounter();                     window.frame.setvisible(true);                 } catch (exception e) {                     e.printstacktrace();                 }             }         });     }      /**      * create application.      */     public clickcounter() {         initialize();     }      /**      * initialize contents of frame.      */     private void initialize() {         frame = new jframe();         frame.setbounds(100, 100, 226, 188);         frame.setdefaultcloseoperation(jframe.exit_on_close);         frame.getcontentpane().setlayout(null);          jlabel lblnumber = new jlabel("number of mouse clicks = 0");         lblnumber.setfont(new font("sitka text", font.bold | font.italic,      13));         lblnumber.setbounds(10, 11, 190, 28);         frame.getcontentpane().add(lblnumber);          jpanel panel = new jpanel();         panel.addmouselistener(new mouseadapter() {             @override             public void mouseclicked(mouseevent e) {                 int count = e.getclickcount();                 lblnumber.settext("number of mouse clicks = "+ count);             }         });         panel.setbounds(0, 35, 210, 114);         frame.getcontentpane().add(panel);     } } 

mouseevent.getclickcount() not absolute click counter - counts how clicked in rapid succession (to distinguish between single click , double clicks).

you need separate counter field can increment in mouselistener.


you implement this:

public class clickcounter {     private jframe frame;     private int count; 

then in initialize-method

    panel.addmouselistener(new mouseadapter() {         public void mouseclicked(mouseevent e) {             count++;             lblnumber.settext("number of mouse clicks = "+ count);         }     }); 

Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

json - Gson().fromJson(jsonResult, Myobject.class) return values in 0's -