I am now not so sure it is a bug. Seems the problem is the hover pseudo state that resets the background color. >From modena.css .titled-pane > .title:hover { -fx-color: -fx-hover-base; }
Try this example: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TitledPane; import javafx.scene.control.ToggleButton; import javafx.scene.layout.Background; import javafx.scene.layout.BackgroundFill; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; import javafx.stage.Stage; public class TitledPaneApplication extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { final StackPane root = new StackPane(); final TitledPane titledPane = new TitledPane(); titledPane.setText("Title"); titledPane.setAnimated(false); titledPane.setCollapsible(false); root.getChildren().add(titledPane); final ToggleButton button = new ToggleButton("Change"); button.setOnAction(event -> { boolean selected = button.isSelected(); final Region titleNode = (Region) titledPane.lookup(".title"); if (selected) { titleNode.setBackground(new Background(new BackgroundFill(Color.GREEN, null, null))); } else { titleNode.setBackground(null); } }); button.setSelected(false); titledPane.setContent(button); final Scene scene = new Scene(root, 400, 400); scene.getStylesheets().add(getClass().getResource("light.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.setTitle("TestApplication"); primaryStage.show(); } } Here is the CSS content for light.css .titled-pane > .title { -fx-color: rgb(220, 220, 220); } /Sverre Den tor. 1. nov. 2018 kl. 14:45 skrev David Grieve <david.gri...@oracle.com >: > It's hard to tell without some short, self-contained, correct example. > This sample I crafted here doesn't reproduce the issue. > > @Override public void start(Stage primaryStage) { > > final TitledPane titledPane =new TitledPane("Button Pane",new > Button("Button")); > final HBox root =new HBox(); > root.getChildren().add(titledPane); > > primaryStage.setTitle("Maybe a TitledPane bug"); > primaryStage.setScene(new Scene(root,300,250)); > primaryStage.show(); > > final Region titleNode = (Region)titledPane.lookup("*.title"); > titleNode.setBackground(new Background(new > BackgroundFill(Color.GREEN,null,null))); > } > > > > On 10/31/18 6:58 PM, Sverre Moe wrote: > > I am not sure if I have stumbled upon a bug in JavaFX, or perhaps it is > > simply something I am doing wrong. > > > > After setting the TitledPane title background programmatically, then when > > hovering the background color is reset to the previous value from CSS. > > I get same behavior in both JavaFX 8 and JavaFX 11. > > > > Color color = Color.valueOf("#00ff11"); > > titleNode.setBackground(new Background(new BackgroundFill(color, null, > > null))); > > > > titleNode.setStyle("-fx-background-color:#00ff11;"); > > > > Setting the style property seems to work, but why doesn't the > > programmatically approach work? > > > > > https://stackoverflow.com/questions/53083005/javafx-titledpane-changed-title-background-is-reset-on-mouse-entered/ > > > > /Sverre > >