問題タブ [treecellrenderer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 列挙値からの Java ツリー ノード
JTree に enum 値のノードを設定します。ただし、ノードはすべて大文字で表示されます。ノードを小文字で表示したいので、これは望ましくありません。
例:
私が試してみました:
ノードは次のように表示されます: 月曜日しかし、私はそれを次のように表示したい: 月曜日
テキストベースのグラフィックの例:
いいえ
列挙値に関連付けられたツリー ノードを取得するにはどうすればよいですか?ただし、ツリー上のそのテキストは完全な名前の文字列を使用しますか? 言い換えれば、ツリー ノードのユーザー オブジェクトを設定する方法と、その名前を変更する方法を教えてください。
*注 - 簡単な修正方法は、慣例に反して、すべて大文字ではなく、ツリーに表示する方法で値に名前を付けることです。
java - ノードに格納されているデータに応じて、jtree 内の特定のノードを強調表示する
jTree を表示するアプリケーションがあります。ツリーの各ノードにはflagged
、ユーザーの注意が必要かどうかを示す と呼ばれるブール フィールドがあります。
フィールドが の場合、true
赤で強調表示したいのですが、それ以外の場合は強調表示しません。
これを達成するための良い方法は何ですか? 延長する必要がありDefaultTreeCellRenderer
ますか?独自のカスタムを実装しTreeCellRenderer
ますか? 他の方法?
java - 行数が異なる jtree の jtable
JTables で構成される JTree を作成しようとしています。ここまでで、Jtables で Jtree を作成することに成功しましたが、特定のツリー ノードのテーブルの行数を変更することはできません。行数を調整しようとすると、ツリーのノードのすべての行数が変更されます。
次のリンクのコードを使用しました。
Trashgod の推薦により、次のコードを書きました。しかし、うまくいきませんでした。動作するコードを教えてください..
例 :
|ノード1|
|ノード2|
|ノード3|
java - DefaultTreeCellRenderer が期待どおりに機能しない
自分が何を間違っているのか理解できないので、私は頭がおかしくなっています。ツリーの各ノードには、正しい、正しくない、または更新が必要であるかのように、異なるアイコンが必要です。Oracle ドキュメントと多くの Web ページ (Stackoverflow を含む) を見ましたが、私のコードにはすべてのノードが同じアイコンで表示されています。初めての投稿なので間違っていたらすみません(>_<)
表示: 評判がないので表示できません >.<
ツリーを想像してみてください。そして、gifNewアイコンを含む leafIcon が常に表示されると想像してください。状態だけが最後のノードをリッスンするかのようです。
コードは次のとおりです (すべての変数が正しく作成され、アイコンも gifNew のようになります):
アイコン:
電話:
レンダラー:
java - JTree ノードが視覚的に選択されない
どういうわけか、JTree ノードの「選択ハイライト」を有効にできません。プロジェクトでカスタム セル レンダラーを使用しています (この問題が発生する可能性が最も高い)。
これは完全なレンダラー クラス コードです。
stackoverflow や他のサイトで考えられる解決策を検索したところ、「setOpaque」メソッドが見つかりました - まったく変更はありません。
ハイライトは私の別のプロジェクトで完全に機能しているので、カスタムレンダラーで何かをしなければならないと確信しています。
編集:
JLabel を削除してそれらの行を追加すると、うまくいきました。
java - JTree 内の JLabel は、コンテンツが変更されてもサイズが変更されない
次のように動作する JTree があります。
- ルートにはタイプ のユーザー オブジェクトがあり
RootObject
ます。プレーンテキスト ラベルを使用し、ツリーの存続期間中は静的です。 - 各子には、タイプ のユーザー オブジェクトがあり
ChildObject
、それは 3 つの状態 (実行中、実行中、終了) のいずれかになります。 - が実行されていないときは
ChildObject
、プレーンテキスト ラベルです。 - の
ChildObject
実行中は、アイコン リソースを使用し、HTML レンダリングに切り替えて、テキストがイタリック体になるようにします。 - が完了する
ChildObject
と、別のアイコン リソースが使用され、HTML レンダリングを使用してテキストが太字で表示されます。
現在、私のコードは次のようになります。
ほとんどの場合、これで問題なくレンダリングされます。最初のツリーは、平文を使用したラベルで適切にレンダリングされます。問題は、ChildObject
インスタンスの状態が変化し始めると、JLabels が HTML レンダリングを使用するように更新されますが、テキストまたはアイコンを補うためにサイズ変更されないことです。例えば:
初期状態:
http://imageshack.us/a/img14/3636/psxi.png
進行中:
http://imageshack.us/a/img36/7426/bl8.png
完成:
http://imageshack.us/a/img12/4117/u34l.png
私が間違っているアイデアはありますか?前もって感謝します!
java - Swing JTreeはどのようにカスタムレンダーがカスタムエディタから値を取得するのですか?
カスタム TreeRenderer で JTree を作成しようとしています
そしてカスタムエディターで
どの getTreeCellEditorComponent がパネルを getTreeCellEditorComponent として返しますが、Items が db から取り込まれる JComboBox を使用します。Render と Editor はうまく機能します。フィールドをクリックすると、db からの値を含むコンボボックスが表示されます。
しかし、Render textArea には保存されません Render には次のようなパネルがあります:
JLabel (FieldName)
JTextArea (FieldValue)
JTextAreaをクリックすると、次のエディタがあります:
JLabel(FieldName)
JComboBox(DBから入力したFieldValues)
しかし、Edit ComboBox から何かを選択すると、Render TextArea に保存されません。問題は、これがどのように機能するかです。
どのようにレンダーコンポーネントが編集コンポーネントから値を取得しますか?
java - Set icon to each node in Jtree
I want to set for each node in my JTree a different icon, actually I'm loading each node from a data base, with a "while", I set each icon like a root, leaf or parent. Like this:
All my declarations are global:
And this is the code where I set my nodes:
The method makeNode is this:
After to fill the treemodel with my nodes, I set the model to my JTree:
But the problem is. when I try to set the icons. I create a subclass called myTreeRenderer, and I use this:
But it doesn't set the icons as I want, the subclass is:
How I can set the icon for each node without using his name? The code of the subclass, as is, set all the nodes with the same icon, and each time I selected a node in the jtree, the getTreeCellRendererComponent runs, I don´t want this.