Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8124317

[ACCORDION] Unexpanded stays at old position, when position is changed in expandedproperty changelistener

    Details

      Description

      IF on an accordion an changelistener is added to the expandedpane property and in his changelistener the layoutX and layoutY Position of the accordion is changed, the unexpanded accordion stays at its old place. If the unexpanded accordion is clicked on again, an other expanded accordion appears and the unexpanded accordion disappears. To unexpand, you have to unexpand both accordions, although there is only one accorion in the java-code.

      hbox.getChildren().addAll(pc, bc);
      final Accordion ac = new Accordion();

      final TitledPane tp = new TitledPane();
      tp.setText(cantonTeacherData.getCantonAbbreviation());
      tp.setContent(hbox);
      tp.setCollapsible(true);
      ac.getPanes().add(tp);

      hbox.getChildren().remove(0);
      hbox.getChildren().remove(0);

      ac.setLayoutX(point.getX());
      ac.setLayoutY(point.getY());

      ac.expandedPaneProperty().addListener(new ChangeListener<TitledPane>() {

            @Override
            public void changed(ObservableValue<? extends TitledPane> observable, TitledPane oldValue, TitledPane newValue) {
              if (newValue != null) {
      //adds the elements, so that width of the accordion is fully expanded
                hbox.getChildren().addAll(pc, bc);
                ac.setLayoutX(0);
                ac.setLayoutY(0);
                ac.toFront();
              } else {
      //makes the unexpanded accordions width only the width of the title
                hbox.getChildren().remove(0);
                hbox.getChildren().remove(0);

                ac.setLayoutX(point.getX());
                ac.setLayoutY(point.getY());

              }
            }

          });

        Attachments

          Activity

            People

            • Assignee:
              jgiles Jonathan Giles
              Reporter:
              duke J. Duke (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported: