# TitledPane Custom Title



## geeek (7. Jun 2012)

Hallo zusammen!

Ich bin grade dabei mir eine Aufgabenverwaltung zu schreiben und hab die Anzeige der 
Aufgaben jetzt auf TitledPane umgestellt.

Das ganze klappt auch wunderbar und sieht so aus:







jetzt würde ich gerne oben wo die Beschreibung der Titel steht "TestAufgabe" 
eine HBox mit diversen Nodes hinzufügen.

TitledPane.setText("TestAufgabe")    ist ja die Standard Implementierung, die nur stumpf Strings zulässt.

Könnte mir jemand einen Tipp geben, wie ich diese Methode überladen kann? (das wäre meine Idee)
Ich weiß nur nicht wo ich da suchen soll, in dem Quelltext von setText() steht für mich nichts verwertbares drin:





```
public abstract class Labeled extends Control {

  public final void setText(String string) {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
```

Vielleicht könnt ihr mir ja auf die Sprünge helfen 

Danke schonmal, 

grüße Jan


----------



## dzim (7. Jun 2012)

Auch wenn ich mit dem JFX noch so meine (Layout-)Probleme hab, denke ich, das einfachste wäre, den Text nicht zu setzen, sondern die "Graphik", die ja auch ein Node ist, zu Missbrauchen, um dort die HBox reinzusetzen. Den Text dann noch auf _null_ und vielleicht war's das schon...

Die Idee hab ich von hier:
Using JavaFX UI Controls: Table View | JavaFX 2 Tutorials and Documentation
such mal nach "EditingCell"...

Daniel


----------



## geeek (7. Jun 2012)

Danke Daniel!

Da hätte ich wohl mal genauer hingucken müssen 
Hab mich vom Namen der setGraphic Methode zu sehr verleiten lassen 
setGraphic akzeptiert eine Node.

Genau das war das was ich gesucht habe, 

vielen Dank!


----------



## dzim (7. Jun 2012)

Und? Bringt's das? Oder geht's auch anders?

Upps... zu schnell geantwortet ;-)


----------



## dzim (7. Jun 2012)

Ich hab noch nie viel mit CSS gemacht, aber ich vermute mal, du schon: Du hast immerhin ja schon ein paar bedeutendere Änderungen an der UI vorgenommen:
Kannst du mal dein CSS zeigen, dein TitledPane gefällt mir ;-)


----------



## geeek (7. Jun 2012)

Bis jetzt alles triviales Zeugs:



```
// Einbinden des Stylesheets in die Scene
scene.getStylesheets().add("Main/stylesheet.css");


// CSS Klasse dem TitledPane hinzugefügt:
this.getStyleClass().add("aufgabe");
```

// CSS

```
.aufgabe {
    -fx-background-color: #7EC0EE;
    -fx-text-fill: #006464;

.titled-pane > .title {
    -fx-padding:10px;
    -fx-background-color: #7EC0EE;
}

}
```


Grüße!


----------



## dzim (8. Jun 2012)

Das die Ecken "eckig" anstelle von rund sind, liegt an dem padding? Nur so aus Neugier.
Ich hatte schon ein CSS, mit dem ich den Hintergrund nur des obersten Panes verändert und den TitledPanes das Blau beim selektieren abgewöhnt hab, aber wie man tatsächlich die Gestalt verändert wusste ich nicht.

Das ".aufgabe" eine eigene Klasse ist, versteh' ich hier auch noch, aber man kann innherhalb der Klammer dann weitere Klassen aufführen? Das war mir a) neu und b) muss ich erst verstehen, was das bedeutet (gehe ich recht davon aus, dass dann nur TitltedPanes - bzw. deren Titel - innerhalb der ".aufgabe" angepasst werden?)

Danke jedenfalls!


----------

