問題タブ [jtable]
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.
netbeans - netbeans で jtable を使用する方法
私はネットビーンズで jtable を使用する方法を知りたいだけです。私を助けてください
java - JTable のライブソート
をJTable
適切に並べ替える方法はわかりましたが、表のセルが変更されたときに並べ替え順序を自動的に更新する方法がわかりません。現在、私はこの (確かに長い) コードを持っています。これは主に Java チュートリアルのHow to Use Tablesに基づいています。で行った変更を強調表示しました// ADDED
。fireTableCellUpdated
この場合、新しく追加された値は適切に並べ替えられますが、値を編集しようとすると、 ?を呼び出しても解決しないようです。
要するに、モデル内でデータ値が変更されたときにテーブルを再ソートするにはどうすればよいですか?
java - Java での JTable TableModel の問題
JTable
問題なく でデータを表示できますが、アプリの実行中にフィルター処理を行うと、JTable
データの変更が表示されません。それを検索したところ、TableModel という名前のクラスが見つかりましたが、AbstractTableModel を作成できません。誰かがこれを行う方法を教えてもらえますか?
Personelz.Java
テーブルモデル
java - JTable に画像が表示されない (Java Swing)
こんにちは、次のコードを作成しました。問題は、画像が JTable 列に表示されないことです。
DefaultTableModel を拡張し、メソッド getColumnClass をオーバーライドします。これが一つの方法であると示唆されました。手がかりはありますか?コードは以下です。
java - JTableにエンティティ属性値データを表示しますか?
JTableを使用して、エンティティ、属性、値(EAV)ストア(リレーショナルDBMS)から取得したエンティティの属性プロパティを表示および編集するにはどうすればよいですか?
これは多くの可能な回答がある質問であることを私は知っているので、回答する前に以下の要件を確認してください。
私はあなたがすべてを読んで理解したことを示す答えに投票することを約束します(それらが完全に愚かでない限り)。
ユーザーは次のことができる必要があります。
属性でエンティティをフィルタリング/検索
表示する属性を(列として)選択します
選択した属性でエンティティを並べ替える
属性値を編集する
選択したエンティティに対して操作を実行します
(オプション)後で使用するためにビューを保存する機能。
システム要求:
エンティティの数:10万以上の一意のエンティティにスケールアップする必要があります
属性:ユーザーは新しい属性を追加および定義できます。システムはこれを処理できる必要があります
基盤となるストレージ:H2データベース(すでに設計済み)、JDBCによる通信
メモリ:すべてが収まるわけではないので、どういうわけかDBMSクエリからプルする必要があります
パフォーマンス:DBMSに必要なクエリの数を最小限に抑える必要があります(属性ごとに1つのクエリでOK、テーブルビューごとに1つのクエリを持つフォームがありますが、それはひどいです)。
クエリ:検索/フィルターに一致するエンティティのリストを生成するには、1つのクエリが必要です。そうでなければ、大規模なパフォーマンスは最悪です。
データの再利用:列が追加されたときにリスト全体を再クエリまたは再ソートする必要はありません。
私が見たもの:
艶をかけられたリストライブラリ
長所:
- カラムの取り扱いに柔軟に対応
- エンティティの並べ替え/フィルターの実装が簡単
- 列の表示形式と編集に柔軟に対応
短所:
- エンティティごとに1つのオブジェクト(オブジェクトが複雑な場合、メモリのオーバーヘッドは重大なメモリの問題になります!)
- すべての機能を担当するオブジェクト...ただし、オブジェクトはメモリ上の理由から単純である必要があります
- すべてのエンティティオブジェクトに対してHashMapを使用せずにユーザーが選択可能な列をサポートするにはどうすればよいですか?
AbstractTableModelを拡張して、JDBC ResultSetから行、列にデータをマップします
- 長所:
- 結果のページングにより、メモリの問題が回避されます
- 検索/フィルタリングはSQLで直接行われます
- メモリに優しい、行ごとにオブジェクトを作成する必要はありません
- 短所:
- カスタム列の実装と並べ替えは面倒です(テーブルヘッダーレンダラー、並べ替え列と順序の管理など)。
- おそらくカスタムJTableColumnModelも作成する必要があり、これは面倒になります。
- SQLを頻繁に操作する必要があるため、DBスキーマが変更された場合は、複数のコードを書き直す必要があります。
- エンティティID情報を維持するのが難しい
- 長所:
ORM
- 長所:
- DB行をオブジェクトにマップするように設計されています
- オブジェクト管理を提供します
- 短所:
- エンティティ-属性-値モデルの最悪のソリューション
- DBMSとJavaコードに加えて、ORMコードを学習して作成する必要があります。
- エンティティは任意の数の属性を持つことができます。ORMは静的で制限されたオブジェクト属性でのみ有効です
- カスタムSQLの柔軟性/速度を失う
- 長所:
私が見逃したより良いオプション、またはグレーズドリストやカスタムテーブルモデルを簡単にするための賢い方法はありますか?
ORMは、EAVストレージとのマッチングが非常に悪いため、オプションとして完全に破棄しました。
java - JTable で編集できるのは 1 行だけです
特別な種類の jtable を作成しようとしています。デフォルトでテーブル全体を編集不可にしたい。ただし、ユーザーが行をクリックしてから「編集」ボタンをクリックすると、その特定の行が編集可能になります。行の選択を解除すると、編集できなくなります。
どうすればこれを行うことができますか?
java - JTable 列のサイズ変更が機能しない
これは、列を指定された幅に設定することを拒否します。何か理由は?
java - JTableが選択した行を正しく返さない
DefaultTableModelの拡張機能を次のように使用しています。
これは、いくつかの回答からの入力を反映するように更新した後の新しいAchievementTableModelです。
私のGUIは、次のプロパティを持つJTableです。
表示するデータを選択するJComboBoxがあります。TableModelは、model.replace(cells)を呼び出すことで更新され、上記のテーブル作成コードを再度実行します。
GUI JTableで行を選択し、table.getSelectedRow()値を出力すると、最初のJComboBoxを再選択した場合でも、最初の選択からmodel.replace(cells)呼び出しでテーブルデータを変更した後、常に-1が返されます。オプション。私が行方不明になっている理由はありますか?コードを変更する必要がありますか?
編集:コードはこの質問に答えようとすることで大きく変わったので、ここに更新されたコードがあります。新しいAchievementTableModelは上にあります。
これにより、モデルとテーブルが正しく表示され、ScrollPaneに表示されるように設定されます。
netbeans - jcombobox で jtable をフィルター処理する
このチュートリアルに従って http://www.netbeans.org/kb/docs/java/gui-db-custom.html#enhancements
テキストボックスを使用してマスターテーブルを除外する方法を示しています。同様のことを行う方法を誰かに教えてもらえますが、ドロップダウンを使用して特定の列に対してテストできますか?
(つまり、国の列でフィルタリングするための国のドロップダウン?
ありがとう