java - label outside the actionPerformed does not refresh -


i tried implement code when press button has, increments 1 unit in label above button. in other words, shows how many times has user pressed button. problem can't seem refresh label when press button. variable holds number of "clicks" incremented in label remains initial declaration value, 0. can help?

import javax.swing.*;  import java.awt.*;  import java.awt.event.actionevent;  import java.awt.event.actionlistener;    public class contadorcliques extends jframe {      private trataevento trataevento;     private jbutton buttonclick;     private int clickcont = 0;     private jlabel l1;      public static void main(string[] args) {          contadorcliques contador1 = new contadorcliques("hello!");      }      public contadorcliques(string titulo) {          super(titulo);         container c = getcontentpane();           borderlayout bl = new borderlayout();         c.setlayout(bl);          l1=new jlabel(string.valueof(clickcont));           jpanel pbotoes = criarpainelbotao();         c.add(pbotoes, borderlayout.south);         //add(pbotoes, borderlayout.south);          jpanel pcliques = criarpainelcliques();         c.add(pcliques, borderlayout.center);         //add(pcliques, borderlayout.center);            setdefaultcloseoperation(jframe.exit_on_close);         setsize(400, 200);         setminimumsize(new dimension(getwidth(), getheight()));         setlocationrelativeto(null);         setvisible(true);      }      private jpanel criarpainelcliques() {          jlabel lbl = new jlabel("número de cliques: " + l1.gettext());           jpanel p = new jpanel();          lbl.setfont(lbl.getfont().derivefont(20.0f));         p.add(lbl, borderlayout.center);           return p;     }      private jpanel criarpainelbotao() {          trataevento = new trataevento();          buttonclick = criarbotao();          jpanel p = new jpanel();          p.add(buttonclick);          return p;     }      private jbutton criarbotao() {          jbutton btn = new jbutton("click here!");         btn.addactionlistener(trataevento);         return btn;     }      private class trataevento implements actionlistener {          @override         public void actionperformed(actionevent e) {              string obj = (string) e.getactioncommand();             if (obj.compareto("click here!")==0) {                 clickcont++;                 system.out.println("funciona");                 system.out.println(clickcont);                 l1.settext(string.valueof(clickcont));               }          }     }  } 

change method criarpainelcliques() this:

    private jpanel criarpainelcliques() {         jlabel lbl = new jlabel("número de cliques: ");        jpanel p = new jpanel();        lbl.setfont(lbl.getfont().derivefont(20.0f));        p.add(lbl, borderlayout.center);        p.add(l1);         return p;     } 

currently reading clickvalue once here:

        jlabel lbl = new jlabel("número de cliques: " + l1.gettext()); 

l1 never read again , click counter stays on 0.


Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -