So if the value is null-able IntegerProperty is not the right type! You
need to use a ObjectProperty<Integer> but this is more of a user forum
question.

Tom

On 10.06.15 13:56, Александр Свиридов wrote:
> 
> I have a POJO class Test that has Integer and String fields (all of them can 
> be null). And I have javafx form with TextFields. To bind Test fields to text 
> fields I use adapter. Now I create an instance of Test (all fields will be 
> null)
> Test test=new Test();
> TestAdapter adapter=newTestAdapter(test);
> //the following line works, although String name=null
> nameTextField.textProperty().bindBidirectional(adapter.getNameProperty());
> //the following line throws exception Integer id=null
> idTextField.textProperty().bindBidirectional(adapter.getIdProperty(),newNumberStringConverter());
> This is the exception I get:
>> Exception in thread "JavaFX Application Thread" 
>> java.lang.NullPointerException at 
>> javafx.beans.property.adapter.JavaBeanIntegerProperty.lambda$get$38(JavaBeanIntegerProperty.java:95)
>>  at java.security.AccessController.doPrivileged(Native Method) at 
>> javafx.beans.property.adapter.JavaBeanIntegerProperty.get(JavaBeanIntegerProperty.java:92)
>>  at 
>> javafx.beans.binding.IntegerExpression.getValue(IntegerExpression.java:69) 
>> at 
>> javafx.beans.binding.IntegerExpression.getValue(IntegerExpression.java:44) 
>> at 
>> com.sun.javafx.binding.BidirectionalBinding.bind(BidirectionalBinding.java:88)
>>  at javafx.beans.binding.Bindings.bindBidirectional(Bindings.java:869) at 
>> javafx.beans.property.StringProperty.bindBidirectional(StringProperty.java:111)
> Everything works ok if I do this way
> test.setId(0);
> idTextField.textProperty().bindBidirectional(adapter.getIdProperty(),newNumberStringConverter());
> However, you can imagine how ugly this solution is - I loose all the 
> abilities of null value and for my CRUD application it is death. Please, help 
> me to understand how to work with Integer(and Others?) null values with 
> bindings and adapters.
> 
> 


-- 
Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
http://www.bestsolution.at/
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck

Reply via email to