問題タブ [jtree]

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.

0 投票する
1 に答える
2933 参照

java - ルートが表示されていない場合、JTree セット ハンドルが最初のノード レベルで表示される

次のような JTree があります。

MasterRoot ノードを表示したくない しかし、`configTree.setRootVisible(false); を呼び出すと

私が得た:

そして、私はこれが欲しい:

注: はい、マスター ルートの後の最初のレベルのノードに「+-」(その名前は? ノード ハンドラー??) を表示する必要があるだけです。

0 投票する
1 に答える
1522 参照

java - JTree セル エディターに JTable を使用する

JTree の編集に JTable を使用したいと思います。DefaultTreeCellEditor を拡張し、isCellEditable getTreeCellEditorComponent を実装しました。getTreeCellEditorComponent で JTable を返します。ノードが編集されると、この時点まですべてが機能し、オブジェクトのコンテンツで満たされた JTable が表示されますが、編集が完了すると、DefaultTreeModel の valueForPathChanged は呼び出されません。デフォルトである編集用のテキストフィールドを使用すると、すべて正常に動作します。

0 投票する
1 に答える
703 参照

javascript - 正確な文字列を含む jstree select 要素

ページの読み込み時に jstree (チェックボックス プラグイン) のいくつかのノードをチェックする必要があります

ただし、tool_name = "aa"すべてのノードabaa, aaa, blaahがチェックされる場合。正確に「aa」を含むノードのみをチェックする必要があります。

0 投票する
1 に答える
3806 参照

java - Java- updating JTree

I've got a JTree which I'm using to display some (unsurprisingly) hierarchical data. Part of the spec is that the user can change the data source (atm it's just between files). Now, when this happens, I can rebuild the data and the tree nodes with no problem. But, I'm having substantial difficulties getting the tree to update the changes. I tried removing it from it's scrollpane and replacing with a new JTree, but I didn't see any such. I've tried removing all from the JTree and didn't see any effect.

How can I make the JTree display changes after it's been constructed?
Ninjedit: Yes, I did call updateUI().

Another edit: I also wanted to replace the tree's current data with my new data. However, I don't see any methods that will take the DefaultMutableTreeNode that I constructed with. Even if I just remove the JTree and call updateUI on it's containing ScrollPane, nothing happens. Or if I use repaint instead.

0 投票する
2 に答える
3485 参照

java - JTreeの検索

検索しようとしているJTreeがあります。クイック再帰検索関数を作成しました。この関数は、親/子ノード名のペアを文字列として受け取ります。

ただし、本来あるべきときに値を返しません。TreeModelからルートノードを取得しましたが、配列は空で始まります。JTreeとTreeModelを確認しましたが、どちらも検索機能を提供していないようです。助言がありますか?

編集:私は私の元の機能を説明しようとはしません(それは元々別の言語で書かれていました)。しかし、私はそれをこれに置き換えました:

しかし、実際には何も見つからないようです。ルートノードから始めたので、ツリー全体を列挙する必要があります。このバージョンのnullポインタ例外のバグを修正しました。

0 投票する
1 に答える
334 参照

java - JTable の簡単な問題

左側に JTree、右側に JTable を使用してフレームをセットアップし、BorderLayout を使用してこれを実現しました。しかし、JTable にデータを入れるとすぐに、フレーム全体と JTree をカバーするように拡張されます。現在、テーブルにはまったくデータがなく (SelectionListener を確認しています)、合計 15 文字の列ヘッダーがいくつかあるだけです。余分なスペースが必要になる方法はありません。

ここに私のセットアップコードがあります:

0 投票する
4 に答える
6304 参照

java - java swing: カスタム グラフィカル ボタンを JTree アイテムに追加する

JTree の項目の右側に小さなアイコンの付いたボタンを追加したいと考えています。これはできますか?もしそうなら、どのように?

ありがとう!

0 投票する
2 に答える
2572 参照

java - JTree ノードの名前変更

私はJTreeを使用しており、これでJTreeノードの名前を変更するために、右クリック(ポップアップで名前を変更)またはF2キーまたはダブルクリックを使用しています。しかし、問題は次のとおりです。名前の名前を変更してEnterキーを押すと、ノードの名前が正常に変更され、名前の名前を変更してフレームの任意の場所をクリックすると( Windowsエクスプローラースタイル)、ノード名の名前が変更されません。

この問題の解決策を教えてください。よろしくお願いします。

0 投票する
4 に答える
1745 参照

java - java swing vs mvc:このパターンは実際に可能ですか?

私はスイングが初めてですが、下降GUIを作成することができました。
私の問題は、リファレンス/チュートリアルで提案されているパターン、主に MVC パターンを適用できなかったことです。

それは私ですか、それとも JTree で SwingWorker を使用すると、コントローラー/ビュー/モデルを明確に分離することはできませんか?
たとえば、私は Swingworker を使用していますが、コントローラーをデザインに「適合させる」ことができません。

つまり、コントロールのアクションは基本的に、ボタンのアクション実行などの内部にある doBackground メソッドにあります。
したがって、コントローラークラスはありません。

Swing ワーカーでのアクションの結果は Jtree を更新することなので、モデルという名前のクラスに結果を渡しますが、このクラスは JFrame 内にある Jtree の treeModel、つまりビューにアクセスする必要があるため、ビューとモデルの明確な分離。

私は多くのチュートリアルを見ましたが、MVC を提示するすべてに些細な例があり、ほとんどの場合、ビュー (これは単なるラベルでした!) がすべてを更新しました。私は完全に混乱していますか、それとも、swingworkers と jtree を使用するスイング アプリケーションに MVC パターンを統合することは不可能であるか、少なくとも簡単ではありませんか?

Swing コンポーネントに実装されている MVC ではなく、実際のドメイン データについて話しているのです。

誰かが私を助けてくれますか (そして、このひどい頭痛から解放してくれますか)、この設計にどのようにアプローチできるかの概要、または少なくとも、重要な例を使用した便利なチュートリアルを提供してくれますか?

ありがとう

0 投票する
2 に答える
1340 参照

swing - TreeCellEditor のデフォルトの編集動作を変更する方法 (Java)

説明 (文字列) と優先値 (int) を持つカスタム オブジェクトがあります。このタイプの異なるオブジェクト間には階層関係があるため、これらの値を JTree に表示します。優先順位は表示目的では重要ではないため、JTree ノードの説明のみを表示します。

JTree ノード (リーフまたはノード) を編集するときに JDialog ポップアップを表示したいと考えています。たとえば、F2 を押します。このダイアログは、説明と優先度の両方を編集するために使用されます。

JTree がデフォルトでテキストをテキスト フィールドとして編集するのを防ぎ、代わりにカスタム ダイアログを呼び出すにはどうすればよいですか?

私が推測する簡単な方法は、DefaultTreeCellEditor クラスをサブクラス化し、isCellEditable メソッドをオーバーライドすることです。次に、そこで JDialog を呼び出し (カスタム DefaultTreeCellEditor をインスタンス化するときに関連する初期化要素を取得できます)、単純に false を返してデフォルトの編集を防止しますが、これは十分に洗練されているようには思えません。