java - how to use javafx textfield maxlength -


how use code in main class of javafx. can set maxlength of characters in javafx texfield.

class limitedtextfield extends textfield {      private final int limit;      public limitedtextfield(int limit) {         this.limit = limit;     }      @override     public void replacetext(int start, int end, string text) {         super.replacetext(start, end, text);         verify();     }      @override     public void replaceselection(string text) {         super.replaceselection(text);         verify();     }      private void verify() {         if (gettext().length() > limit) {             settext(gettext().substring(0, limit));         }      } }; 

my java fx main class given below

public class textfiled extends application {         @override     public void start(stage primarystage) {             final textfield t_fname = new textfield();           stackpane root = new stackpane();         root.getchildren().add(t_fname);          scene scene = new scene(root, 300, 250);          primarystage.settitle("hello world!");         primarystage.setscene(scene);         primarystage.show();     }       public static void main(string[] args) {         launch(args);     } } 

this solution:

public static void addtextlimiter(final textfield tf, final int maxlength) {     tf.textproperty().addlistener(new changelistener<string>() {         @override         public void changed(final observablevalue<? extends string> ov, final string oldvalue, final string newvalue) {             if (tf.gettext().length() > maxlength) {                 string s = tf.gettext().substring(0, maxlength);                 tf.settext(s);             }         }     }); } 

see javafx 2.2 textfield maxlength , prefer composition on inheritance?


Comments

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -