問題タブ [tablemodel]
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 - セットの視覚化JavaSwingでJTableを使用
次のようなスレッドのセットを視覚化したいと思いますSet<ThreadInfo>
。Set
JVM内のすべてのスレッドが一意であるため、を選択します。Java SwingのコンポーネントJTableで表示することを選択すると、いくつかの問題に直面します。
TableModelを実装する必要があります。TableModelは、変更された値を伝播するために、getValueAt(int row, int col)
またはに依存します。setValueAt(Object o, int row, int col)
しかし、データモデルとしてSetを使用してこれらのメソッドを実装するにはどうすればよいですか?リストの場合はrow=list indexと言いますが、セットの場合は要素の順序について推測することはできません。
java - JTableの列にアイコンを設定するには?
列のヘッダーを設定できますが、JTable の最初の列のすべての行にアイコンを設定できません。
私のBuildTable()メソッドの行の下。
最初の列のすべての行にどのように設定できますか? for ループを試してみましたが、行を繰り返してアイコンを設定することはまだできませんでした。それとも他に方法はありますか?
mysql - 反復せずに(MySQL)データの列をQtのベクトルに入れることはできますか?
MySQL データベースにデータがあり、それをベクターに入れたいと思っています。この問題は QSqlTableModels に固有のものではなく、QAbstractTableModel に固有のものである可能性がありますが、よくわかりません。今、私は持っています
低レベルのコピー操作など、これを改善する方法はありますか?
編集: beduin の提案に従って、QSqlTableModel を使用せずにこれを実行しようとしましたが、QSqlQuery を単純に反復処理しました。これにより、パフォーマンスが大幅に低下しました。たとえば、上記の方法を使用して 380 ミリ秒かかったコピー操作は、QSqlQuery を反復して 525 ミリ秒かかり、他のクエリと同様の違いがありました。
java - Java DefaultTableModel が Vector を使用する理由
すべてのテーブル モデルの更新操作に AWT スレッドを使用する必要があることはわかっています。単一の AWT スレッドでは、すべてのテーブル モデルがスレッド セーフになります。DefaultTableModel がデータ構造としてスレッドセーフな Vector を選択するのはなぜですか? これは ArrayList のような他のデータ構造よりも遅いのですか?
swing - 列の値に基づくJTableの行の色の変更 - ポップアップのクリック
MyjTable
にはデータがロードされており、ここで のポップアップ機能を呼び出しますjTable
。
基本的に、行を右クリックすると、ポップアップ (クレジット チェック) が表示され、クリックすると、その行の最後のセルに値が設定されます。ここで、この列のセルの値に基づいて、行の色を定義する必要があります。セルの値が失敗した場合、行を赤に、そうでない場合は緑にするとしましょう。条件を試しcustomCellRenderer
て定義しましたが、行の色に変化はありません。ただし、カスタム セル レンダラーは、私が作成しなければならなかったボタン機能に対してはうまく機能しました。以下のコードは、簡単だと感じた準備cellRenderer
を使用していますが、行の色に変化は見られません。
つながりがありません。助けてください。
前もって感謝します。
view - 現在のJTableビューから新しいJTableを作成する
私はJTableを含むプロジェクトに取り組んでおり、そのプロジェクトで並べ替えとフィルタリングの操作を実行しています。並べ替えとフィルタリングの部分は終了しました。古いテーブルの現在のビューから新しいテーブルを作成できるようにしたいと思います。
たとえば、古いテーブルに特定のフィルターを適用すると、一部の行がフィルターで除外されます。新しいテーブルでこれらの除外された行は必要ありません。新しい行インデックスをモデルインデックスに変換し、セル値を新しいテーブルのモデルに手動で追加できると思いましたが、これを行う他の効率的な方法があるかどうか疑問に思いました。
以下は私がやったことです:
java - Java で TableModel から列を削除する
Java では、DefaultTableModel を使用して動的に列を JTable に追加しています。
columnNames 変数は、列名の文字列配列です。したがって、プログラムが起動して実行された後、ユーザーは追加の列を追加するオプションを利用できます。私は次のようにします
これにより、必要に応じて列がテーブルに動的に追加されます。ユーザーは、追加された列を削除することもできます。このために、次のコードを使用します。
指定されたインデックスの列を削除する必要があります。私も試しました:
どちらも(視覚的に)機能しますが、ここに問題があります。追加された列を削除した後、別の列が追加されてテーブルが更新されると、以前に削除された列が再び表示されます。したがって、列を視覚的に削除している間、最後の 2 つのコード スニペットのどちらも、実際にはモデルから列を削除していません。ここで、列がモデルに追加されたので、列を削除する必要があると仮定していますか? 呼び出す必要がある特定のメソッドや、列を削除するために実装する必要があるロジックはありますか?
java - JComboboxとしてJTable行に複数の値を格納する方法
ハッシュマップには、キーと値(XMLの解析結果)が含まれています。ハッシュマップには、キーが文字列で値がベクトルであるという方法で物事が含まれています。キーには、ベクトル内の単一の値またはベクトル内の複数の値が含まれる場合があります。
私の質問は:
このハッシュマップは、キーに単一の値がある場合はテキストボックスに配置するように、jtableに配置する必要があります。複数の値がある場合は、そのテーブルの行にコンボボックスを挿入します。
この問題のスイングコードが必要です
java - Java:既存のJTableのTableModelを置き換えることは可能ですか?
既存のJTableのTableModel全体を置き換えることは可能ですか、それともJTableを再作成する必要がありますか?
java - スイングで動的GUIを実装する方法
まず第一に、おそらく少し過度に具体的なものを投稿してしまったことをお詫びしますが、私はSwingの経験があまりなく、私のニーズに合った良い例を見つけることができないようです。
だから私はSwingでフィルタリング基準を選択するための動的GUIを実装するための最良の方法を見つけようとしています:
基礎となるモデルは、否定できる(つまり、NOTプレフィックスを付けて適用される)基準のリストと、これらをANDまたはORのどちらと組み合わせるかを示すプロパティを含むクラスです。
GUIを使用すると、ユーザーは基準を追加、変更、または削除し、組み合わせ演算子(および/または)を選択できます。最初の基準には当然組み合わせセレクターがなく、3番目以降の基準では2番目の基準と同じ組み合わせ演算子を使用するだけです。
右側のXボタンは、基準を削除するために使用されます。[追加]ボタンを押すと、コンポーネントの新しい行が下部に追加されます。変更が加えられると、これらは基礎となるモデルに反映されます。
もちろん、JPanelにコンポーネントを追加し、それに応じてモデルを更新するだけで、これを非常に「基本的に」実装できますが、TableModelによって提供されるようなより優れたソリューションをお勧めします。
したがって、カスタムTableModelとTableCellRenderer / Editorを備えたテーブルが最善のアプローチであるかどうか、またはこのようなものを実装するためのより良い方法があるかどうか疑問に思っています。テーブルが実際に最良のアプローチである場合、これを達成するためにTableCellRenderersまたは-Editorsをどのように使用するかについてのいくつかの指針をいただければ幸いです。
前もって感謝します。