Bonjour,
Je n'arrive pas a faire un binding sur un JXRadioGroup.
Mon jXRadioGroup :
Mon binding :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 static { NIVEAU = new Niveau[2]; Niveau niveau = new Niveau(1, "Niveau 1"); NIVEAU[0] = niveau; niveau = new Niveau(2, "Niveau 2"); NIVEAU[1] = niveau; } private org.jdesktop.swingx.JXRadioGroup jXRadioGroup; jXRadioGroup = new org.jdesktop.swingx.JXRadioGroup<Niveau>(); jXRadioGroupPlan.setValues(NIVEAU);
Mon converter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_WRITE, optionExpeN1, BeanProperty.create("gestionPlan"), jXRadioGroup, BeanProperty.create("selectedValue")); binding.setConverter(new NiveauConverter()); bindingGroup.addBinding(binding);
J'obtiens une exception sur mon logger :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private class NiveauConverter extends Converter<Integer,Niveau> { @Override public Niveau convertForward(Integer value) { return NIVEAU[value.intValue() - 1]; } @Override public Integer convertReverse(Niveau value) { for (int i = 0; i < NIVEAU.length; i++) { if (value == NIVEAU[i]) { return i + 1; } } LOG.warn("Pas de niveau trouvé pour : " + value); return null; } }
Par contre il ne semble pas passer par le converter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 2010-04-22 11:41:18,930 [ERROR] CreaExpeView - org.jdesktop.beansbinding.PropertyResolutionException: Exception invoking method public void org.jdesktop.swingx.JXRadioGroup.setSelectedValue(java.lang.Object) on org.jdesktop.swingx.JXRadioGroup[jXRadioGroup,9,22,121x76,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.TitledBorder@18e8541,flags=9,maximumSize=,minimumSize=,preferredSize=]
Je n'arrive pas a comprendre d'ou cela peut venir... Du coup si vous avez une idée...
Partager