問題タブ [swingx]
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 - Windows のような日時ピッカー
Windows 7 の日付と時刻のピッカーと同じことを行う (またはそれ以上の) Swing 用のコンポーネントを探しています。彼らはそう見える:

そして、私が必要とする次の機能を持っています:
- 無効な値を入力することはできません (フィールドを離れるときではなく、入力するときに値が無視されます)
- ユーザーが最初に変更を加えるまで、フィールドを継続的に更新できます (Windows 7 の時間設定を参照してください)。
- 一度に選択して変更できるのは、テキスト全体ではなく、1 つの位置のみです (したがって、コロンとポイントは削除できません)。
- 上下ボタン
- カレンダーボタン(ただし、私にとってはオプションです)
DateEditor で JSpinner を試しましたが、この機能はありません。JXDatePicker はカレンダー ボタンのみを追加します。
一般的に、ユーザーが日付と時刻を強力かつシンプルな方法で入力できるようにする良い方法を探しています。Windows 7 のソリューションは非常に優れているようです。
ありがとうございました!
java - Apache PivotはSwingの適切な代替手段ですか?
私はApachePivotを調べてきましたが、Swingの代替として使用する準備ができているかどうか疑問に思っています(SwingとSwingXの開発がこれまでになく遅くなり、ほとんど休止状態になっていることを考えると)。
誰かがそれを試しましたか?Apache Pivotを使用したRAD用のドラッグアンドドロップGUIデザイナーについて知っていますか?
ありがとうございました。
java - パネルの1つをドラッグしすぎると、MultiSplitPanelが消えます。
私はを使用していSwingX MultiSplitPane, JXMultiSplitPaneます。ペインには、左側のパネル、中央のパネル、および右側のパネルの3つの個別のパネルがあります。左のパネルを広げすぎると、右のパネルが消えて元に戻せなくなります。
ユーザーの動作を制限して、パネルの幅が特定のサイズを超えて拡大しないようにする方法はありますか?
java - JXTableのJComboBoxに関する問題
JXTableの列をコンボボックスにしようとしています。私が直面している問題を説明するのは難しい。ドロップダウンをクリックすると、値を選択するのに十分な時間ドロップダウンが開いたままにならない場合があります。閉じて、値が選択されます。値を選択できるように開いたままになることもあります。SSCCEは次のとおりです。
java - SwingX AutoCompleteDecorator:装飾に適したメソッドが見つかりません
私は初めて SwingX をテストしようとしています。
次のような JTextField について提案したいと思います。
だから私はnetbeansでプロジェクトを作成します、これは私のコードです:

このエラーが発生します:
私は構文によく従っていますが、エラーがどこにあるのかわかりませんか? 何か役に立ちますか?
java - JXTreeTable: ComponentProvider を使用して 1 つの列のレンダラーを設定する方法
JXTreeTable を使用して一部のデータを表示していますが、提供されている SwingX のメカニズムを使用して一部の列のレンダラーを変更したいと考えています。
以前は JXTable と TableCellRenderer のカスタム実装を使用していましたが、これはもう機能しません (プログレス バー、ボタンなどがあるはずの文字列が表示されます)。
したがって、私は次のようにして、私が望むものを達成しようとしました:
ただし、ComponentProvider のオーバーライドされたメソッドcreateRendererは 1 回呼び出され (JXTreeTable に複数の行がある場合でも)、ボタンは表示されません (メソッドには のみが含まれますreturn new JButton();)。
ありがとう!
編集>クレオパトラに答えてくれることを願っていたので、喜んでくれました。
頑張ったのですがなぜか表が表示されません。私は何かを忘れていたと思います (私は C++ 開発者で Java は初めてです) が、それは深刻な問題ではなく、おそらく私の主な問題とは関係がないと思います。
EDIT>実際に動作することを確認しました。しかし、私が望む方法ではありません。実際のボタンを表示したい (今では、行の残りの部分とは少し異なって見える)、そのパス (親オブジェクトと列インデックス) を知り、ボタンをクリックまたはホバリングしたときの効果を確認したい (ボタンは押されたように見えるはずです) 、...)。
どうすればそれを達成できますか?
java - JTreeでのフィルタリング
問題
にフィルタリングを適用JTreeして、レンダリングされたバージョンのに特定のノード/リーフが表示されないようにしますJTree。理想的には、動的フィルターを使用できるソリューションを探していますが、静的フィルターを機能させることができれば、すでに嬉しいです。
少し簡単にするために、JTree編集ではなくレンダリングのみをサポートしていると仮定しましょう。ノードの移動、追加、削除が可能である必要があります。
例として、の上の検索フィールドがあります。JTree入力するJTreeと、一致するサブツリーのみが表示されます。
いくつかの制限:JDKおよびSwingXにアクセスできるプロジェクトで使用されます。他のサードパーティのライブラリを含めないようにしたいと思います。
私はすでにいくつかの可能な解決策を考えましたが、どちらも理想的ではなかったようです
アプローチ
モデルベースのフィルタリング
- を装飾して、
TreeModelいくつかの値を除外します。クイックアンドダートバージョンは簡単に作成できます。ノードをフィルターで除外し、フィルターまたはデリゲートを変更するたびにTreeModel、デコレーターはツリー全体が変更されたというイベントを発生させることができます(treeStructureChangedルートノードをノードとして)。これをリスナーの選択状態と拡張状態を復元するリスナーと組み合わせると、JTree多かれ少なかれ機能するバージョンが得られますが、から発生するイベントTreeModelは混乱します。これは多かれ少なかれこの質問で使用されるアプローチです - 飾る
TreeModelが、正しいイベントを発射してみてください。私は(まだ)これの実用的なバージョンを思い付くことができませんでした。TreeModelノードがデリゲートモデルから削除されたときに正しい子インデックスを使用してイベントを発生させるには、デリゲートのコピーが必要なようです。もう少し時間があれば、これを機能させることができると思いますが、それは間違っているように感じます(フィルタリングは、モデルではなく、ビューが実行する必要があるもののように感じます) - イニシャルを作成するために使用されたデータ構造を装飾します
TreeModel。ただし、これは完全に再利用できず、おそらくデコレータを作成するのと同じくらい難しいです。TreeModel
ビューベースのフィルタリング
これは行く方法のようです。フィルタリングはモデルに影響を与えるのではなく、ビューにのみ影響を与える必要があります。
RowFilterクラスを見てみました。JTreejavadocは、 :と組み合わせて使用できることを示唆しているようですが、JTreeに関連付けられている場合、エントリはノードに対応します。
RowFilter(またはRowSorter)とJTreeクラスの間にリンクが見つかりませんでした。およびSwingチュートリアルの標準実装は、を直接使用する場合にのみ使用できることRowFilterを示唆しているようです(を参照)。同様の方法は利用できませんRowFilterJTableJTable#setRowSorterJTreeJXTreejavadocも調べました。がComponentAdapter利用可能であり、のjavadocは、ターゲットコンポーネントと対話できることをComponentAdapter示していますが、とのRowFilter間のリンクを作成する方法がわかりません。RowFilterJTreeJTableハンドルがsを使用してフィルタリングを処理する方法についてはまだ調べていませんRowFilter。おそらく、の変更バージョンでも同じことができますJTree。
つまり、これを解決するための最善のアプローチについてはわかりません。
注:この質問はこの質問と重複している可能性がありますが、その質問はまだ回答されておらず、質問はかなり短く、回答は不完全に見えるため、新しい質問を投稿することを考えました。これが行われない場合(FAQはこれに関する明確な答えを提供しませんでした)私はその3年前の質問を更新します
java - リストアイテム=newArrayList():機能しません
タイトルにすべて含まれていますが、今回の問題は少し異なります。2つの異なるプログラムに同じObject(List)を使用しましたが、2回目は機能しません。以下を参照してください。
エラーに関するスクリーンショット:

ここでの短所によって、その作業はスムーズに行われます:
誰かが私に説明できますか?
java - Swingx コンポーネント プロバイダー: 特定の行のコンポーネントを非表示にする
Swingx の ComponentProvider をサブクラス化して JButton を提供しましたが、JXTreeTable の一部の行で、ボタンを表示したくありません。私が望む最終的な「結果」は、プロバイダーを設定していない列に空のテキストを表示するときに得られるような、空のセルを持つことです。
特定の行でレンダリングされたコンポーネントを非表示にすることは可能ですか (たとえば、値に応じて)? または
setVisible(false)のレンダリングされたコンポーネントの設定が機能しません。format()configureState()ComponentProvider をサブクラス化して、さまざまなタイプのコンポーネントを提供することは可能ですか? はいの場合、それはどのように機能しますか?
configureState()ComponentProvider が提供する可能性の例と、どのメソッドが何をするかについての明確な説明はどこにありますか (たとえば、との違いがほとんどわかりformat()ません)。
編集
JX(Tree)?Table に表示される JButton がセルと同じ幅になるのを防ぐことは可能ですか?
別の蛍光ペンを作成する場合、別の述語 (ROLLOVER など) を使用してカーソルを変更できますか? ボタンが非表示になっていても、カーソルが(リンク上で)手の形に変わります。
どうもありがとう!