stack trace - JavaFX Date Picker specific format error -


i've created sample application uses javafx-8 date picker. works fine on default pattern on specific pattern throws exception. i'm trying convert on 'dd-mm-yyyy' pattern on default.

here source file of program please take look.

datepickercontroller.java

package javafx.datepicker;  import java.time.localdate; import java.time.format.datetimeformatter; import java.time.format.datetimeformatterbuilder; import javafx.fxml.fxml; import javafx.scene.control.button; import javafx.scene.control.datepicker; import javafx.scene.control.textarea; import javafx.util.stringconverter;  public class datepickercontroller {  @fxml private datepicker dp;  @fxml private button btn;  @fxml private textarea ta;  public void initialize() {     string pattern = "dd-mm-yyyy";     dp.setprompttext(pattern);     try {         dp.setconverter(new stringconverter<localdate>() {             datetimeformatter dtf = datetimeformatter.ofpattern(pattern);              @override             public string tostring(localdate object) {                 if (object == null) {                     return null;                 }                 return dtf.format(object);             }              @override             public localdate fromstring(string string) {                 if (string != null & !string.isempty()) {                     return localdate.parse(string, dtf);                 }                 return null;             }         });     } catch (exception e) {         e.printstacktrace();     } } } 

and here main class

javafxdatepicker.java

package javafx.datepicker;  import javafx.application.application; import javafx.fxml.fxmlloader; import javafx.scene.parent; import javafx.scene.scene; import javafx.stage.stage;  public class javafxdatepicker extends application {  public static void main(string... args) {     launch(args); }  @override public void start(stage st) {     try {         parent root = fxmlloader.load(getclass().getresource("/javafx/datepicker/datepicker.fxml"));         scene sc = new scene(root);         st.setscene(sc);         st.settitle("javafx date picker");         st.show();     } catch (exception e) {         e.printstacktrace();     } } } 

and here fxml file

datepicker.fxml

<?xml version="1.0" encoding="utf-8"?>  <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <anchorpane id="anchorpane" prefheight="247.0" prefwidth="372.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="javafx.datepicker.datepickercontroller"> <children>   <datepicker fx:id="dp" layoutx="50.0" layouty="51.0" prefheight="25.0" prefwidth="273.0" />   <button fx:id="btn" layoutx="50.0" layouty="99.0" mnemonicparsing="false" prefheight="25.0" prefwidth="273.0" text="click" />   <textarea fx:id="ta" layoutx="50.0" layouty="133.0" prefheight="89.0" prefwidth="273.0" /> </children> </anchorpane> 

and here stacktarce of error

exception in thread "javafx application thread" java.time.datetimeexception: field dayofyear cannot printed value 196 exceeds maximum print width of 2 @ java.time.format.datetimeformatterbuilder$numberprinterparser.format(datetimeformatterbuilder.java:2548) @ java.time.format.datetimeformatterbuilder$compositeprinterparser.format(datetimeformatterbuilder.java:2179) @ java.time.format.datetimeformatter.formatto(datetimeformatter.java:1746) @ java.time.format.datetimeformatter.format(datetimeformatter.java:1720) @ javafx.datepicker.datepickercontroller$1.tostring(datepickercontroller.java:45) @ javafx.datepicker.datepickercontroller$1.tostring(datepickercontroller.java:37) @ com.sun.javafx.scene.control.skin.comboboxpopupcontrol.updatedisplaynode(comboboxpopupcontrol.java:424) @ com.sun.javafx.scene.control.skin.datepickerskin.handlecontrolpropertychanged(datepickerskin.java:141) @ com.sun.javafx.scene.control.skin.behaviorskinbase.lambda$registerchangelistener$61(behaviorskinbase.java:197) @ com.sun.javafx.scene.control.multiplepropertychangelistenerhandler$1.changed(multiplepropertychangelistenerhandler.java:55) @ javafx.beans.value.weakchangelistener.changed(weakchangelistener.java:89) @ com.sun.javafx.binding.expressionhelper$generic.firevaluechangedevent(expressionhelper.java:361) @ com.sun.javafx.binding.expressionhelper.firevaluechangedevent(expressionhelper.java:81) @ javafx.beans.property.objectpropertybase.firevaluechangedevent(objectpropertybase.java:105) @ javafx.beans.property.objectpropertybase.markinvalid(objectpropertybase.java:112) @ javafx.beans.property.objectpropertybase.set(objectpropertybase.java:146) @ javafx.scene.control.comboboxbase.setvalue(comboboxbase.java:150) @ com.sun.javafx.scene.control.skin.datepickercontent.selectdaycell(datepickercontent.java:689) @ com.sun.javafx.scene.control.skin.datepickercontent.lambda$createdaycells$174(datepickercontent.java:731) @ com.sun.javafx.event.compositeeventhandler$normaleventhandlerrecord.handlebubblingevent(compositeeventhandler.java:218) @ com.sun.javafx.event.compositeeventhandler.dispatchbubblingevent(compositeeventhandler.java:80) @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:238) @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:191) @ com.sun.javafx.event.compositeeventdispatcher.dispatchbubblingevent(compositeeventdispatcher.java:59) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:58) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56) @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114) @ com.sun.javafx.event.eventutil.fireeventimpl(eventutil.java:74) @ com.sun.javafx.event.eventutil.fireevent(eventutil.java:54) @ javafx.event.event.fireevent(event.java:198) @ javafx.scene.scene$clickgenerator.postprocess(scene.java:3470) @ javafx.scene.scene$clickgenerator.access$8100(scene.java:3398) @ javafx.scene.scene$mousehandler.process(scene.java:3766) @ javafx.scene.scene$mousehandler.access$1500(scene.java:3485) @ javafx.scene.scene.impl_processmouseevent(scene.java:1762) @ javafx.scene.scene$scenepeerlistener.mouseevent(scene.java:2494) @ com.sun.javafx.tk.quantum.glassvieweventhandler$mouseeventnotification.run(glassvieweventhandler.java:380) @ com.sun.javafx.tk.quantum.glassvieweventhandler$mouseeventnotification.run(glassvieweventhandler.java:294) @ java.security.accesscontroller.doprivileged(native method) @ com.sun.javafx.tk.quantum.glassvieweventhandler.lambda$handlemouseevent$354(glassvieweventhandler.java:416) @ com.sun.javafx.tk.quantum.quantumtoolkit.runwithoutrenderlock(quantumtoolkit.java:389) @ com.sun.javafx.tk.quantum.glassvieweventhandler.handlemouseevent(glassvieweventhandler.java:415) @ com.sun.glass.ui.view.handlemouseevent(view.java:555) @ com.sun.glass.ui.view.notifymouse(view.java:937) @ com.sun.glass.ui.win.winapplication._runloop(native method) @ com.sun.glass.ui.win.winapplication.lambda$null$148(winapplication.java:191) @ java.lang.thread.run(thread.java:745) 

i tried every method resolve bad luck.

please give me suggestions resolve , explain error.

i think want following:

string pattern = "dd-mm-yyyy";


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -