2016-07-01 3 views
2

以下は私のTreeTableViewです。ご覧のように、レベルを折りたたんで展開する矢印は、データに沿っていません。JavaFX:ツリービューの矢印を行の内容に合わせて拡大する

enter image description here 私はそれらを1行にまとめたいと思います。しかし、それをどうやって行うのか分からない。私はCSSで次の方法を試してみましたが、どれもうまくいきません。

.tree-table-row-cell .arrow { 
    -fx-alignment: CENTER; 
    -fx-mark-color:red; 
} 
.tree-table-row-cell .arrow-button { 
    -fx-alignment: CENTER; 
    -fx-mark-color:blue; 
} 

.tree-table-cell .arrow { 
    -fx-alignment: CENTER; 
    -fx-mark-color:yellow; 
} 
.tree-table-cell .arrow-button { 
    -fx-alignment: CENTER; 
    -fx-mark-color:green; 
} 
.tree-table-cell > .arrow-button >.arrow{ 
    -fx-alignment: CENTER; 
    -fx-mark-color:purple; 
} 
.tree-table-row-cell > .arrow-button >.arrow{ 
    -fx-alignment: CENTER; 
    -fx-mark-color:grey; 
} 

これをどのように達成することができますか?

+0

デフォルトの動作では、ラインが垂直マーカーで整列されていること、です。しかし、これに感染している他のCSSのマーカーやフォントの配置を変更しました。それがfxmlで、すでにシーンビルダがある場合は、シーンビルダの "CSS Analyzer" - フィーチャで解析してみてください。デフォルト値がオーバーライドされているかどうかがわかります。 – NwDev

答えて

2

これは完璧ではありません(これは尋ねられてから1年半です)が、私は同じことをする必要がありました。これが私が思いつく最高のものです。

矢印はすでに中央揃えになっていて、スタイリングが追加された後は再配置されないため、セルの内容を大きくするスタイリングを追加すると、スローされます。 (私のセル値の1つは、通常、そのセルの値がマイナス記号であるため、ユーザーの一部が見るのが難しいためです)。

Scenic View私はクラス.tree-disclosure-nodeの矢印ノードの周りにラッパーがあることを発見しました。 (風光明媚なビューは、すでにそれがすでに中心に置かれていることもわかっています)。そのため、そのラッパーにいくつかのトップパディングを追加しました。

矢印を大きくするだけで、矢印自体をパッドしても構いません。

これは誰かを助けてくれることを願っています。

.tree-disclosure-node { 
    -fx-padding: 15 5 0 5; 
} 

enter image description here

関連する問題