2016-08-03 17 views
0

TreeTableViewsとその行に基づいて質問があります。 私はコンポーネントの名前付きオブジェクトのtreetableviewを作成している、と私は私のプロジェクトではA、B、Cの に名前を付けます、BのオブジェクトがAに含まれており、CのオブジェクトはBに含まれていることをコンポーネントの3クラスを、持っていますオブジェクト。 これら3つのレベルのコンポーネントでTreeTableViewを表示することができましたが、この表にいくつかのCSSを追加して、特定の特性を持つようにしたいと考えています:javaFXのノードのサイズが異なるTreeTableView

- まず、Aオブジェクトのサイズ

.tree-table-cell { 
    -fx-font-size: 11pt; 
} 

.tree-table-cell:sub-tree-item { 
    -fx-font-size: 9pt; 
} 

をしかし、それは...

を働いていないように思える:CのためにBのオブジェクトよりも大きいと同じになるように、このためにTは、私はインターネット上で見てきたものに基づいて、このような原料を試してみました - それでは、テーブルの可視性のためだけに、各Aコンポーネント間にセパレータのようにしたいと思っています

- とは最終的に私が選択した項目と彼のすべてのツリーノード(Cが選択されている場合、それは意味し、Cエレメント+その親B +その親A)は太字またはそれを直接identifiateするものにしたいと思います。私はいくつかのスタイルシートクラスを追加する(希望として私のツリーアイテムを操作することができないんだけど、実際には...任意の成功なし

.tree-item:selected { 
    -fx-font-weight: bold; 
} 

を:このため、私はこのクラスのいくつかの単純なCSSを適用しようとしましたTreeItemでは不可能です)。

私は私が十分に明らかだった願っています。あなたの助け

答えて

0

ため おかげで私はTreeTableViewを使用し、正常に異なる基準に基づいてスタイルを適用しています。私のアプローチは、TreeTableRowにスタイルを適用することでした(しかし、私はセルもうまくいくと思います)。行は、(少なくとも、私は簡単な方法を見ていない)への参照を取得することは容易ではありません。私がアクセスした1つの方法は、行のファクトリを追加することでした。工場ではドラッグ&ドロップハンドラーを追加しました。しかし、スタイリングのために私はカスタムセルを使用しました(私は編集のためにそれらを必要としていました)。これらのカスタムセルのupdateItemメソッドでは、行を取得してスタイルを変更します。これは、行が仮想化され再利用されるために必要でした。私はupdateItemの呼び出し中に "空の"行をチェックし、スタイリングを削除しなければならないことがわかりました(私の場合、 "無効な"項目の赤い枠線が含まれていました)。 CSSでの疑似クラスについては

、私はあなたが右のものを使用していることを確認することをお勧めしたいです。ビルトインの擬似クラスを使用していない場合は、コード内に擬似クラスを作成し、それをスタイル作成しようとしているクラスに登録する必要があります。私はある情報を持ってwebsiteを見つけましたが、もしあなたが検索したら、そこにはもっと多くの情報があると確信しています。

私は(あなたが述べたように)アイテム自体はスタイリングをサポートしていないと思います。モデル/データクラス(UIと比較して)が多いと思う。

関連する問題