TreeTableView: disclosure node not clickable after css tweaks

XMLWordPrintable

    • Type: Bug
    • Resolution: Not an Issue
    • Priority: P3
    • None
    • Affects Version/s: 8u481, jfx11, jfx17, jfx21, jfx25
    • Component/s: javafx

      ADDITIONAL SYSTEM INFORMATION :
      Windows 11

      A DESCRIPTION OF THE PROBLEM :
      I "compact" the modena appearance for TreeTableView. After css tweaks the disclosure node (arrow you use to expand/collapse the tree branch) stops processing clicks.

      Notice: TreeView (not table one) behaves correctly for the case.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run the test case.

      ---------- BEGIN SOURCE ----------
      TreeTableBug.java:

      import javafx.application.Application;
      import javafx.geometry.Insets;
      import javafx.scene.Scene;
      import javafx.scene.control.TreeItem;
      import javafx.scene.control.TreeTableColumn;
      import javafx.scene.control.TreeTableView;
      import javafx.scene.layout.StackPane;
      import javafx.stage.Stage;

      public class TreeTableBug extends Application {
          public static void main(String[] args) {
              TreeTableBug.launch(args);
          }

          @Override
          public void start(Stage primaryStage) throws Exception {
              TreeTableView<String> table = new TreeTableView<>();
              TreeTableColumn<String, String> column = new TreeTableColumn<>();
              column.setPrefWidth(100);
              column.setCellValueFactory(f -> f.getValue().valueProperty());
              table.getColumns().add(column);
              table.setPadding(new Insets(20));

              TreeItem<String> rootItem = new TreeItem<>("root");
              rootItem.getChildren().addAll(new TreeItem<>("A"), new TreeItem<>("B"));
              table.setRoot(rootItem);

              StackPane root = new StackPane();
              root.getChildren().add(table);
              Scene scene = new Scene(root, 300, 200);
              scene.getStylesheets().add(getClass().getResource("/tree-table.css").toExternalForm());
              primaryStage.setScene(scene);
              primaryStage.show();
          }
      }


      tree-table.css:

      .tree-table-row-cell {
          -fx-padding: 0 0 0 -11;
      }
      .tree-table-row-cell > .tree-disclosure-node {
          -fx-padding: 0 0 0 14; /* revert -11 + padding 3 */
      }

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

      FREQUENCY :
      ALWAYS

        1. TreeTableBug.java
          1 kB
        2. TreeTableBug1.java
          2 kB
        3. tree-table.css
          0.2 kB
        4. TreeTableBug_Short_clip.mp4
          121 kB
        5. Screenshot 2026-02-20 at 14.18.58.png
          Screenshot 2026-02-20 at 14.18.58.png
          290 kB

            Assignee:
            Andy Goryachev
            Reporter:
            Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: