r2545 - trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean
Author: tchemit Date: 2012-12-30 15:36:31 +0100 (Sun, 30 Dec 2012) New Revision: 2545 Url: http://nuiton.org/projects/jaxx/repository/revisions/2545 Log: fixes #2497: [BeanDoubleList] Use widget with no model Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java =================================================================== --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java 2012-12-30 14:33:33 UTC (rev 2544) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java 2012-12-30 14:36:31 UTC (rev 2545) @@ -77,16 +77,14 @@ public void init(JXPathDecorator<O> decorator, List<O> universe, List<O> selected) { this.decorator = BeanUIUtil.createDecorator(decorator); - mutator = BeanUIUtil.getMutator(ui.getBean(), ui.getProperty()); - ui.getModel().setUniverse(universe); ui.getModel().setSelected(selected); JList universeList = ui.getUniverseList(); JList selectedList = ui.getSelectedList(); - universeList.setCellRenderer(new DecoratorListCellRenderer(this.decorator)); - selectedList.setCellRenderer(new DecoratorListCellRenderer(this.decorator)); + universeList.setCellRenderer(new DecoratorListCellRenderer(decorator)); + selectedList.setCellRenderer(new DecoratorListCellRenderer(decorator)); // When universe list selection model changed, update the add button enabled property universeList.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @@ -166,14 +164,19 @@ } protected void fireSelectionUpdate() { - if (ui.getBean() == null) { - return; + if (ui.getBean() != null && getMutator() != null) { + try { + getMutator().invoke(ui.getBean(), ui.getModel().getSelected()); + } catch (Exception e) { + throw new RuntimeException(e); + } } - try { - mutator.invoke(ui.getBean(), ui.getModel().getSelected()); - } catch (Exception e) { - throw new RuntimeException(e); + } + + public Method getMutator() { + if (mutator == null && ui.getBackground() != null && ui.getProperty() != null) { + mutator = BeanUIUtil.getMutator(ui.getBean(), ui.getProperty()); } + return mutator; } - }
participants (1)
-
tchemit@users.nuiton.org