swing - Java basic if/else statement state change -


please see attached code below , question @ end.

class events extends jframe{     private jlabel label;     private jbutton button;      public events() {         setlayout(new flowlayout());          button = new jbutton("click text");         add(button);          label = new jlabel("");         add(label);          event e = new event();         button.addactionlistener(e);      }      public class event implements actionlistener {         public void actionperformed(actionevent e) {             int x = 0;             if (x == 0) {                  label.settext("the new label");                 system.out                         .println("setting x 0 , label display label");                 x = 1;                 system.out.println(x);             } else {                 label.settext("newerer label");                 system.out.println("i reached else segment");                  x = 0;                 system.out.println(x);             }          }      }      public static void main(string args[]) {         events gui = new events();         gui.setdefaultcloseoperation(jframe.exit_on_close);         gui.settitle("events test");         gui.setsize(300, 100);         gui.setvisible(true);      }  } 

background: learning java , attempting understand concept. program attempting create small gui button when clicked assign jlabel string value of "the new label." wanted use same button change label "newerer label" if clicked second time , again if clicked third. attempted using if/ else statement variable x hold state of 1 or 0. @ end of each portion of if/else change state of x either 1 or 0 appropriately. when attempting run program in eclipse however, have run kind of error. assigned system.out.println each portion of if/else in attempt see how program switches between 2 states appears else statement never reached.

questions:

  1. is if/else statement appropriate perform such simple 2 state switch?
  2. is there more appropriate way this? (i know switch statements opted 2 state project).
  3. what did wrong , why else path never achieved when state should 1?

thank responses, pano

your variable "x" must declared class member.

public class event implements actionlistener{     private int x = 0;      public void actionperformed(actionevent e){         if(x == 0){             label.settext("the new label");             system.out.println("setting x 0 , label display label");             x = 1;             system.out.println(x);         }         else {             label.settext("newerer label");             system.out.println("i reached else segment");             x = 0;             system.out.println(x);         }     } } 

Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -