java - Delayed TitledBorder title update/refresh, why? -


i have jpanel title border inside jpanel b of jtabbedpanel c. have method refreshing content of , b called time-to-time.

unfortunately, items of , b refreshed in time, not title of a. explicitely have switch tabbed panel , come c a's title displayed properly. why?

the code using following:

    titledborder tmp             = (titledborder) this.groupingprofilepanel.getborder();      // resetting header     if ( this.c != null ) {         tmp.settitle("set - " + this.c.getname());     } else {         tmp.settitle("set");     } 

after updating title, verify invoke repaint() on component having titled border or 1 of ancestors.

enter image description here

import java.awt.borderlayout; import java.awt.eventqueue; import java.awt.event.actionevent; import java.util.date; import javax.swing.abstractaction; import javax.swing.borderfactory; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.border.titledborder;  /** @see http://stackoverflow.com/questions/6566612 */ public class titledbordertest {       public static void main(string[] args) {           eventqueue.invokelater(new runnable() {               public void run() {                   new titledbordertest().create();               }           });      }       private void create() {           string s = "this titledborder update test.";          final jlabel label = new jlabel(s);          final titledborder tb =              borderfactory.createtitledborder(new date().tostring());          label.setborder(tb);          jframe f = new jframe("titled border test");          f.setdefaultcloseoperation(jframe.exit_on_close);          f.add(label);          f.add(new jbutton(new abstractaction("update") {              public void actionperformed(actionevent e) {                 tb.settitle(new date().tostring());                 label.repaint();             }         }), borderlayout.south);          f.pack();          f.setlocationrelativeto(null);          f.setvisible(true);          system.out.println(tb.getminimumsize(f));      } } 

Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

java - Output of Eclipse is rubbish -

jquery - Confused with JSON data and normal data in Django ajax request -