JFrame
の2つのパネルに2つのJTree
があります。私はノードのスタイル(色とフォント)をドラッグして1つのツリーから他のツリーに変更したいと思います。JTree
ノードの色を永久に変更する方法を教えてください。1つのJTreeノードのスタイル(色、フォント)を変更する方法
4
A
答えて
10
を開始するには、スタイルと色を扱うことができるデータオブジェクトを持っている必要があります。 DefaultMutableTreeNodeをサブクラス化し、これらのデータ項目をgettsとsetterで追加することができます
次に、カスタムTreeCellRendererを作成する必要があります。 DefaultTreeCellRendererを拡張し、オーバーライドされたハンドラでカスタムクラスをチェックし、これらの値が設定されている場合、フォントとカラーを使用するようにJLabel出力を変更することをお勧めします。
5
独自のCellRenderer
を作成します。 MyTreeCellRenderer
に適切な動作を与えるには、DefaultTreecellRenderer
を拡張してgetTreeCellRendererComponent
メソッドをオーバーライドする必要があります。
public class MyTreeCellRenderer extends DefaultTreeCellRenderer {
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean exp, boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, sel, exp, leaf, row, hasFocus);
// Assuming you have a tree of Strings
String node = (String) ((DefaultMutableTreeNode) value).getUserObject();
// If the node is a leaf and ends with "xxx"
if (leaf && node.endsWith("xxx")) {
// Paint the node in blue
setForeground(new Color(13, 57 ,115));
}
return this;
}
}
最後に、あなたのCellRenderer
がそれに設定し、あなたのツリーがmyTree
と呼ばれていると言う:
myTree.setCellRenderer(new MyTreeCellRenderer());
+1
あなたのコードスニペットありがとうございます。完璧に働いた! – Nadya
関連する問題
- 1. フォントを太字、イタリック、フォントの色に変更する方法
- 2. フォントのスタイルを変更
- 3. ToggleButtonBar - 1つのボタンの色を変更する方法
- 4. 複数の異なるフォントを持つJTreeのノードをレンダリングする
- 5. TextButtonのTrueTypeFontのフォント色を変更する方法
- 6. ListViewフォントの色を変更する方法?
- 7. reportlab.pdfgenでテキスト/フォントの色を変更する方法
- 8. ボタンでウェブページのフォント色を変更する方法は?
- 9. GridViewのフォント色を変更する方法は?
- 10. ブラックベリーラベルフィールドのフォント色を動的に変更する方法は?
- 11. msdropdown jqueryプラグイン、フォントの色を変更する方法
- 12. サイクル2でフォントの色を変更する方法サイクルオーバーレイ
- 13. SynMemoのスクロールバーの色をVCLスタイルで変更する方法
- 14. PHPコード内のテキストのスタイルと色を変更する方法
- 15. 1つの画像(灰色)でボタンの色を変更する方法は?
- 16. リンクのフォント色を変更する
- 17. UIBarButtonItemのフォント色を変更する
- 18. フォントの色を変更するには
- 19. テキストエリアのフォント色を変更する
- 20. javascriptを変更する.textフォントの色
- 21. 変更フォントの色は
- 22. リッチテキストボックステキストからフォント名、サイズ、スタイル、テキストの色を見つける方法C#
- 23. text()R関数 - 1つの単語のフォントを変更する方法は?
- 24. Xamarinでフォント/色/サイズを変更する方法C#
- 25. ワードドキュメントスタイルでフォント色を変更する方法
- 26. fullCalendarでのタイトルのフォント色の変更方法
- 27. NSOutlineViewソースリストのスタイル、ビューベース、フォントの変更
- 28. MathJaxのフォントを変更する方法
- 29. ブートストラップツールチップのフォントを変更する方法
- 30. qwebviewの背景イメージ、色、フォントの色を変更するには
あなたには、いくつかのコードを提供する場合それは参考になります。.. –
いいえ、それがあれば参考になりますあなたはいくつかのコードを提供しました。そして、それが何か間違っていても、 'TreeCellRenderer'に対して+1 – ControlAltDel
+1を修正するのを手助けすることができました。 @ soumitrachatterjee:関連する例が見つかりました[ここ](http://stackoverflow.com/a/8351850/230513); 'setForeground(Color.blue)'を追加すると、[sscce](http://sscce.org/)の作成に役立ちます。 – trashgod