問題タブ [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.

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

netbeans - netbeans で jtable を使用する方法

私はネットビーンズで jtable を使用する方法を知りたいだけです。私を助けてください

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

java - JTable のライブソート

JTable適切に並べ替える方法はわかりましたが、表のセルが変更されたときに並べ替え順序を自動的に更新する方法がわかりません。現在、私はこの (確かに長い) コードを持っています。これは主に Java チュートリアルのHow to Use Tablesに基づいています。で行った変更を強調表示しました// ADDEDfireTableCellUpdatedこの場合、新しく追加された値は適切に並べ替えられますが、値を編集しようとすると、 ?を呼び出しても解決しないようです。

要するに、モデル内でデータ値が変更されたときにテーブルを再ソートするにはどうすればよいですか?

0 投票する
3 に答える
5004 参照

java - Java での JTable TableModel の問題

JTable問題なく でデータを表示できますが、アプリの実行中にフィルター処理を行うと、JTableデータの変更が表示されません。それを検索したところ、TableModel という名前のクラスが見つかりましたが、AbstractTableModel を作成できません。誰かがこれを行う方法を教えてもらえますか?

Personelz.Java

テーブルモデル

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

java - JTable に画像が表示されない (Java Swing)

こんにちは、次のコードを作成しました。問題は、画像が JTable 列に表示されないことです。

DefaultTableModel を拡張し、メソッド getColumnClass をオーバーライドします。これが一つの方法であると示唆されました。手がかりはありますか?コードは以下です。

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

java - JTableにエンティティ属性値データを表示しますか?

JTableを使用して、エンティティ、属性、値(EAV)ストア(リレーショナルDBMS)から取得したエンティティの属性プロパティを表示および編集するにはどうすればよいですか?

これは多くの可能な回答がある質問であることを私は知っているので、回答する前に以下の要件を確認してください。

私はあなたがすべてを読んで理解したことを示す答えに投票することを約束します(それらが完全に愚かでない限り)。


ユーザーは次のことができる必要があります。

  1. 属性でエンティティをフィルタリング/検索

  2. 表示する属性を(列として)選択します

  3. 選択した属性でエンティティを並べ替える

  4. 属性値を編集する

  5. 選択したエンティティに対して操作を実行します

  6. (オプション)後で使用するためにビューを保存する機能。


システム要求:

  1. エンティティの数:10万以上の一意のエンティティにスケールアップする必要があります

  2. 属性:ユーザーは新しい属性を追加および定義できます。システムはこれを処理できる必要があります

  3. 基盤となるストレージ:H2データベース(すでに設計済み)、JDBCによる通信

  4. メモリ:すべてが収まるわけではないので、どういうわけかDBMSクエリからプルする必要があります

  5. パフォーマンス:DBMSに必要なクエリの数を最小限に抑える必要があります(属性ごとに1つのクエリでOK、テーブルビューごとに1つのクエリを持つフォームがありますが、それはひどいです)。

  6. クエリ:検索/フィルターに一致するエンティティのリストを生成するには、1つのクエリが必要です。そうでなければ、大規模なパフォーマンスは最悪です。

  7. データの再利用:列が追加されたときにリスト全体を再クエリまたは再ソートする必要はありません。


私が見たもの:

  1. 艶をかけられたリストライブラリ

    • 長所:

      • カラムの取り扱いに柔軟に対応
      • エンティティの並べ替え/フィルターの実装が簡単
      • 列の表示形式と編集に柔軟に対応
    • 短所:

      • エンティティごとに1つのオブジェクト(オブジェクトが複雑な場合、メモリのオーバーヘッドは重大なメモリの問題になります!)
      • すべての機能を担当するオブジェクト...ただし、オブジェクトはメモリ上の理由から単純である必要があります
      • すべてのエンティティオブジェクトに対してHashMapを使用せずにユーザーが選択可能な列をサポートするにはどうすればよいですか?
  2. AbstractTableModelを拡張して、JDBC ResultSetから行、列にデータをマップします

    • 長所:
      • 結果のページングにより、メモリの問題が回避されます
      • 検索/フィルタリングはSQLで直接行われます
      • メモリに優しい、行ごとにオブジェクトを作成する必要はありません
    • 短所:
      • カスタム列の実装と並べ替えは面倒です(テーブルヘッダーレンダラー、並べ替え列と順序の管理など)。
      • おそらくカスタムJTableColumnModelも作成する必要があり、これは面倒になります。
      • SQLを頻繁に操作する必要があるため、DBスキーマが変更された場合は、複数のコードを書き直す必要があります。
      • エンティティID情報を維持するのが難しい
  3. ORM

    • 長所:
      • DB行をオブジェクトにマップするように設計されています
      • オブジェクト管理を提供します
    • 短所:
      • エンティティ-属性-値モデルの最悪のソリューション
      • DBMSとJavaコードに加えて、ORMコードを学習して作成する必要があります。
      • エンティティは任意の数の属性を持つことができます。ORMは静的で制限されたオブジェクト属性でのみ有効です
      • カスタムSQLの柔軟性/速度を失う

私が見逃したより良いオプション、またはグレーズドリストやカスタムテーブルモデルを簡単にするための賢い方法はありますか?

ORMは、EAVストレージとのマッチングが非常に悪いため、オプションとして完全に破棄しました。

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

java - JTable で編集できるのは 1 行だけです

特別な種類の jtable を作成しようとしています。デフォルトでテーブル全体を編集不可にしたい。ただし、ユーザーが行をクリックしてから「編集」ボタンをクリックすると、その特定の行が編集可能になります。行の選択を解除すると、編集できなくなります。

どうすればこれを行うことができますか?

0 投票する
3 に答える
5789 参照

java - JTable 列のサイズ変更が機能しない

これは、列を指定された幅に設定することを拒否します。何か理由は?

0 投票する
8 に答える
8810 参照

java - JTableが選択した行を正しく返さない

DefaultTableModelの拡張機能を次のように使用しています。

これは、いくつかの回答からの入力を反映するように更新した後の新しいAchievementTableModelです。

私のGUIは、次のプロパティを持つJTableです。

表示するデータを選択するJComboBoxがあります。TableModelは、model.replace(cells)を呼び出すことで更新され、上記のテーブル作成コードを再度実行します。

GUI JTableで行を選択し、table.getSelectedRow()値を出力すると、最初のJComboBoxを再選択した場合でも、最初の選択からmodel.replace(cells)呼び出しでテーブルデータを変更した後、常に-1が返されます。オプション。私が行方不明になっている理由はありますか?コードを変更する必要がありますか?

編集:コードはこの質問に答えようとすることで大きく変わったので、ここに更新されたコードがあります。新しいAchievementTableModelは上にあります。

これにより、モデルとテーブルが正しく表示され、ScrollPaneに表示されるように設定されます。

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

netbeans - jcombobox で jtable をフィルター処理する

このチュートリアルに従って http://www.netbeans.org/kb/docs/java/gui-db-custom.html#enhancements

テキストボックスを使用してマスターテーブルを除外する方法を示しています。同様のことを行う方法を誰かに教えてもらえますが、ドロップダウンを使用して特定の列に対してテストできますか?

(つまり、国の列でフィルタリングするための国のドロップダウン?

ありがとう