java - Text in JLabel doesn't get updated on pressing a JButton -


i working on project program seems have bug can not find.

here mcve reproduces problem:

import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jbutton;  import java.awt.flowlayout;  import java.awt.event.actionlistener; import java.awt.event.actionevent;  public class so{     jlabel label;     jbutton button;     jpanel panel;     jframe frame;      public static void main(string[] args){         new so().start();     }      public void start()     {         label = new jlabel("button not pressed");         button = new jbutton("press me");         frame = new jframe();         panel = new jpanel(new flowlayout(flowlayout.center));          panel.add(label);         panel.add(button);          frame.add(panel);         frame.pack();         frame.setlocationrelativeto(null);         frame.setdefaultcloseoperation(jframe.exit_on_close);         frame.setvisible(true);          button.addactionlistener(new actionlistener(){             public void actionperformed(actionevent e)             {                 system.out.println("button pressed");                 label = new jlabel("button pressed"); //doesn't work                 frame.repaint();             }         });     } } 

the above program has jlabel text , jbutton both of added jpanel in turn added jframe.

when button pressed, want text in jlabel change. text doesn't changed despite println executing every time press button.

what problem here?

you creating new object of jlabel on clicking on button not adding jpanel or jframe after that.

in spite of creating new object i.e.

label = new jlabel("button pressed") 

do like,

label.settext("button pressed"); 

more info


Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -