Yeah, you can do that. Like this: getApplicationSettings().setConverterFactory(new IConverterFactory() { public IConverter newConverter(final Locale locale) { final Converter converter = new Converter(locale); // String -> Date DateConverter dc = new DateConverter(); dc.setDateFormat(locale, new SimpleDateFormat("dd-MM-yyyy")); converter.set(Date.class, dc); // Date -> String DateToStringConverter dsc = new DateToStringConverter(); dsc.setDateFormat(locale, new SimpleDateFormat("dd-MM-yyyy")); StringConverter sc = new StringConverter(); sc.set(Date.class, dsc); converter.set(String.class, sc);
return converter; } }); Notice the use of a seperate StringConverter that has a registry for type converters itself. It's kind of awkward right now. It's on our list to simplify for 1.3. Eelco On 4/7/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > i dont think you can do this globally, i would override getConverter() on > the textfield thats displaying dates, or craete a DateTextField subclass > that does it for you. > > alternatively you can create a model decorator that does the conversion, > advantage is that it will work for any component. > > > -Igor > > > On 4/7/06, Jaime De La Jara <[EMAIL PROTECTED]> wrote: > > > > > > I commented the lines that define the datetostring converter > > and the effect was that the date was displayed using toString() > > and the float value was displayed correctly. > > So, how can I define converters for different types, like > > > > Float and Date from and to String?. In a previous post I > > learnt that that the conversion was a two-way process, that > > is from type1->type2 and from type2->type1, and that was > > applicable to a textfield. > > > > I'm lost here. > > > > Jaime. > > > > > > > > > > > > i think the problem is that you registered your own > > converter for String.class so when wicket will try to > > display the float in the textfield it will try to format it > > to string, and it will use the datetostring converter > > you registered. > > > > -Igor > > > > > > On 4/7/06, Jaime De La Jara < [EMAIL PROTECTED]> wrote: > > > > > > Here is the original code to define a Date format : > > > > > > getApplicationSettings().setConverterFactory(new > IConverterFactory() > > > { > > > public IConverter newConverter(final Locale locale) > > > { > > > final Converter converter = new Converter(locale); > > > // String -> Date > > > DateConverter dc = new DateConverter(); > > > dc.setDateFormat(locale, new > SimpleDateFormat("dd-MM-yyyy")); > > > converter.set(Date.class, dc); > > > // Date -> String > > > DateToStringConverter dsc = new DateToStringConverter(); > > > dsc.setDateFormat(locale, new SimpleDateFormat("dd-MM-yyyy") ); > > > converter.set(String.class, dsc); (*) > > > > > > return converter; > > > } > > > } > > > ); > > > > > > But in this case a float value gets formatted as it were > > > a Date. > > > If a insert the following code in (*) : > > > > > > // Float -> String > > > NumberToStringConverter numberToStringConverter = new > NumberToStringConverter(); > > > DecimalFormat fmt = new > > > DecimalFormat("###,###,###,###.#####"); > > > numberToStringConverter.setNumberFormat(locale, fmt); > > > final StringConverter stringConverter = new StringConverter(); > > > stringConverter.set (Float.class, numberToStringConverter); > > > stringConverter.set(Float.TYPE, numberToStringConverter); > > > stringConverter.set(Date.class, dsc); > > > converter.set(String.class, stringConverter); > > > converter.set (Float.class, new FloatConverter()); > > > > > > I get the float value correctly formmatted but the date is > > > displayed using Date.toString(). > > > > > > > > > Jaime. > > > > > > > > > > > > > > > can you show me youre converter code? > > > > > > > > > On 4/6/06, Jaime De La Jara <[EMAIL PROTECTED]> wrote: > > > > > > > > Yes, I use the following code : > > > > > > > > add(new TextField("montoTotal", Float.class)); > > > > > > > > I've made some tests and found that commenting the > > > > definition of the IConverterFactory for the date format > > > > and defining the format for the float field and it worked, > > > > however I cannot define the format for both types. > > > > > > > > Thanks, > > > > > > > > Jaime. > > > > > > > > > > > > > > > > did you do TextField.setType(Float.class) or create it with > > > > the constructor that takes the class? > > > > > > > > -Igor > > > > > > > > > > > > On 4/6/06, Jaime De La Jara <[EMAIL PROTECTED] > wrote: > > > > > > > > > > Hi, I've just downloaded version 1.2 beta 3 and I have a > > > > > problem when editing the contents of a javabean, > > > > > particularly in a case of a Float field. The relevant > > > > > code is : > > > > > > > > > > Javabean : > > > > > public class Pago > > > > > { > > > > > ..... > > > > > public Float getMontoTotal() > > > > > { > > > > > return Float.valueOf("1234567890"); > > > > > } > > > > > ....... > > > > > } > > > > > > > > > > Html : > > > > > > > > > > <td class="tit"> > > > > > <input wicket:id="montoTotal" type="text" class="normal" size="20"/> > > > > > </td> > > > > > > > > > > > > > > > When the page is displayed it shows the following : > > > > > 15-01-1970 in the textfield, > > > > > this value corresponds to the date equivalent (aprox) > > > > > to the above number in milisec. > > > > > > > > > > The only thing I've done that can be important to this > > > > > issue is to define a new IConverterFactory to apply the > > > > > same date format to the whole app. > > > > > > > > > > What is going on? > > > > > > > > > > Thanks. > > > > > > > > > > Jaime. > > > > > > > > ________________________________ > Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ > countries) for 2ยข/min or less. > > > > > > ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user