問題タブ [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 - カスタムTableModelを使用してJTableの行を削除する方法
私は自分と同じような投稿を読んでいて、Javaチュートリアルページを読んでいますが、これを機能させることができないようです。基本的なものが欠けているかどうかはわかりません...
以下にカスタムテーブルモデルがあり、そこから行を削除できるようにする必要があります。テーブルは空で初期化され、行はコンボボックスと追加ボタンを介して追加されます。選択した行をテーブルから削除する必要がある削除ボタンもあります。
selectedRow
コンソールのプリントで正しい行が含まれていることを確認しました。このfireTableRowsDeleted
関数は何もしません。行はまだ存在します。特定の行を削除するにはどうすればよいですか?
ありがとう、
java - JTable、TableModel、および TableColumnModel - 奇妙なことが起こっています
私は私のクライアントのために costum JTable を開発しています。
テーブル モデルを開始したとき、列モデルを完成させたばかりでした。テーブル モデルの列に関連するほとんどの関数は、実際には列モデルの関数のエイリアスです。
とにかく、本当に奇妙なことが起こりました。誰かが私を助けてくれることを願っています:
JTable は列を正しく表示します。これは、getColumnCount と getColumnName が正しく機能していることを意味します。
行数が正しく表示されます。これは、getRowCount が適切に機能していることを意味します。
テーブル モデルの «getColumnCount» が列モデルの getColumnCount の値を返すため、各行のセル数が適切に表示されます。
さて、ここで奇妙なことが起こります:
各行の最初のセルの値は正しいです。ただし、同じ行の他のすべてのセルについては同じままです。
ほとんどの人がすでにそうしているように、getValueAt には何か問題があると思いました。そこで、テーブルがレンダリングされた後に呼び出しをハードコーディングすることにしました。そして、何を推測しますか: 値が正しく返ってきました。
いくつかのデバッグの後、「getValueAt(rowIndex, columnIndex)」ではなく「getValueAt(rowIndex, 0)」を呼び出している JTable であることがわかりました。
誰でもこれで私を助けることができますか?よろしくお願いします...
テーブルモデル
列モデル
そして、そのハードコードされたテスト。それぞれ 3 つのセルを含む 2 つの行:
java - JButtonをクリックしてJTableを再作成します
9 x 3(27セル)のJTableがありますが、ユーザーがボタンをクリックすると、新しいデータだけでなく、場合によっては異なる数のセルで埋められて、テーブルを変更したいと思います。これを行う方法がわかりません。
親からテーブルを削除して、テーブルの新しいインスタンスを作成してみました。何も起こらなかった。ここ:
どうすればいいのか知りたい
a)パネルからテーブルを削除し、別の形で「元に戻す」か、b)テーブルの内容(場合によっては形)を変更します。
java - チェックボックス issue-Table を含む JTable が実行時に作成されない
誰でも私を助けてください。チェックボックスを使用して動的テーブルを作成しようとしています。データはデータベースからアクセスされます。しかし、実行時にテーブルを作成していません。データベースからデータを適切に取得します。しかし、指定したパネル (panTable) にテーブルを作成しない理由がわかりません。以下はコードです:
java - AbstractTableModel を拡張するカスタム TableModel をクリアする方法
まさに質問が述べていること。カスタムtableModel
クラスを作成JTable
しました。そのモデルに関連付けられている をactionPerformed
.
java - カスタムTableModelSwingのremoveRow()メソッド
作成したカスタムTableModelを使用して入力されたJTableがあります。最初のJTableから行を追加できる別のJTableがあります。新しいJTableに行を追加しても問題ありませんが、新しいJTableに追加するときに、最初のJTableからその行を削除する必要があります。残念ながら、removeRow()はDefaultTableModelのメソッドにすぎず、そのソースコードを確認しましたが、表示されません...
前もって感謝します!
これが私のカスタムテーブルモデルです:
java - なぜJTablesはそれらへの追加を表示しないのですか?
あるJTableから別のJTableにオブジェクトを追加していますが、デバッグを通じて、CustomTableModelでオブジェクトがオブジェクトのリストに追加されていることがわかります。追加した最初のオブジェクトのみが新しいJTableに表示されます。
したがって、TableModelに多くのオブジェクトを追加できますが、JTableに表示されるのは最初のオブジェクトだけです。
これが私のaddメソッドです:
私のカスタムテーブルモデルをご覧になりたい場合はお知らせください。
customTableModelにメソッドを追加および削除します。
java - getDataVector は、TJable からさまざまなデータ型を提供します
JTable があり、jTable1.getModel()).getDataVector() を使用すると、異なる列のオブジェクトの型が異なります (私の場合はすべて String である必要があります)。
私のテーブルには 5 つの列があります。
数値(実際には文字列ですが、解析には問題ありません)
セルに添付されたコンボボックスから選択された文字列ですが、そこから値を取得したい場合、文字列ではなくベクトルのように見えます
再び番号(0列のように-ここでは問題ありません)
再びコンボボックス付きの文字列ですが、文字列値が得られるので問題ありません
数値(文字列に隠されています)ですが、これも文字列である必要がありますが、ベクトルです
セルにコンボボックスを作成する方法 (列 1 と 3):
テーブルモデルの作成方法:
そして、これは私がデータを読む方法です:
最後の行で CastException を取得します (nextStep = ...)
行 (matrix = ...) で同じ例外が発生していましたが、ご覧のとおり、別の方法でキャストしたため、正常に動作しているようです。最初は問題がセル内のコンボボックスに関連していると思っていましたが、ユーザーが挿入した単純な文字列がある列でも発生します。
単純に別のキャストを行うことができますが、それがなくても機能するはずなので (さまざまな種類の JTable でその問題はありませんでした)、コードが読みにくくなり、このテーブルをより多くの列で拡張したい場合は、気になります。 (近い将来に起こるかもしれません)そして私は同じ問題に再び苦労します.
なぜそれがそのように機能するのか、そしてjtable(またはモデル)に統一された形式でセルの値を与えるように強制する方法があるかどうか、誰にもわかりませんか?
java - JTable をベクトルで更新する方法
私はかなり長い間これに悩まされてきました。テーブルモデルを使用して実際のテーブルを新しい値で更新することは理解していますが、これを機能させることができないようです。フォームに tablemodellistener を追加し、tableChanged メソッドを用意しました。ただし、テーブルに挿入するときに tableChanged メソッドが呼び出されない理由がわかりません。
フォームの更新ボタンをクリックすると、テーブルを完全に再構築できますか? それはまったく可能でしょうか?そうでない場合、更新ボタンのアクション実行メソッドから tableChanged メソッドを呼び出してトリガーする必要がありますか? 私はかなり長い間これにこだわっていましたが、学習のためにこれを理解したいと思っています。
java - AbstractTableModelsetValueAtがJbuttonクリック時に起動しない
AbstractTableModelを拡張するカスタムTableModelがあります。
私が書いたsetValueAt関数は、編集可能なセルに新しい値を入力してから別のセルに移動した場合に適切に起動します。私が抱えている問題は、最後の編集可能なセルについて、ユーザーがすぐにJButtonをクリックして続行することです。これはsetValueAt関数をトリガーしないため、データを保存しません。ユーザーがセルを編集した直後にボタンを押したときに、この値が常に保存されるようにするための良い方法はありますか?必要に応じて参照できるように、以下のsetValueAt関数。
あなたが提供できるどんな助けにも感謝します。