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

TreeTableView - resizable behavior of Column does not work correct

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 8u51
    • javafx
    • x86
    • windows_8

      FULL PRODUCT VERSION :


      ADDITIONAL OS VERSION INFORMATION :
      Windows 8 / Apple Mac OS X

      A DESCRIPTION OF THE PROBLEM :
      The divider of the column which is not resizable, can be still be moved. The effect is, that the whole layout of the table is destroyed.

      Very ugly behaviour for the customer! We need to have a workaround / fix asap.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      - hover first column divider in the table header
      - the icon does not change - click anyway and drag the divider around

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Nothing happens
      ACTUAL -
      - able gets horizontal scrollbar
      - divider of last column moves
      - layout of table is destroyed (resize window)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      package de.saxsys.jfx.tabellen;

      import javafx.application.Application;
      import javafx.beans.property.SimpleStringProperty;
      import javafx.scene.Scene;
      import javafx.scene.control.TreeItem;
      import javafx.scene.control.TreeTableColumn;
      import javafx.scene.control.TreeTableView;
      import javafx.stage.Stage;

      public class ApplicationStarter extends Application {

      @Override
      public void start(Stage stage) throws Exception {

      TreeTableView<String> tv = new TreeTableView<>();

      tv.setColumnResizePolicy(TreeTableView.CONSTRAINED_RESIZE_POLICY);

      // ADD DELETE BUG - SELECTED INDECES WRONG
      TreeItem<String> value = new TreeItem<>("");
      tv.setRoot(value);
      value.getChildren().addAll(new TreeItem<String>("Test"));

      TreeTableColumn<String, String> col = new TreeTableColumn<>();
      TreeTableColumn<String, String> col2 = new TreeTableColumn<>();

      // IMPORTANT
      col.setResizable(false);
      // Second col is resizable!
      // col2.setResizable(false);

      tv.getColumns().addAll(col, col2);

      col.setCellValueFactory((c) -> new SimpleStringProperty(c.getValue().getValue()));

      Scene scene = new Scene(tv);
      stage.setScene(scene);
      stage.show();
      }

      public static void main(String[] args) {
      launch(args);
      }

      }

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      currently no.

            jgiles Jonathan Giles
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: