問題タブ [abstracttablemodel]

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 に答える
3183 参照

java - JTable すべての行を削除する例外

abstractTableModel からすべてのエントリを削除しようとしています。最後に残った行を削除しない限り、すべて正常に動作しますが、これを削除するとすぐに ArrayOutOfBoundsException が発生します。DefaultRowSorter を使用していますが、これは例外のようです。

スレッド「AWT-EventQueue-0」での例外 java.lang.ArrayIndexOutOfBoundsException: 配列インデックスが範囲外です: java.util.Vector.get(Vector.java:694) で 0 が graphics.tableModel.MyTableModel.getValueAt(MyTableModel.java) で発生しました:78) graphics.tableModel.MyTableModel.getColumnClass(MyTableModel.java:90) で javax.swing.table.TableRowSorter.useToString(TableRowSorter.java:224) で javax.swing.DefaultRowSorter.updateUseToString(DefaultRowSorter.java:607) でjavax.swing.DefaultRowSorter.sort(DefaultRowSorter.java:556) で javax.swing.DefaultRowSorter.shouldOptimizeChange(DefaultRowSorter.java:1008) で javax.swing.DefaultRowSorter.rowsDeleted(DefaultRowSorter.java:866) で javax.swing. javax.swing.JTable.sortedTableChanged(JTable.java:4106) の JTable.notifySorter(JTable.java:4262) javax.swing.JTable.tableChanged(JTable.java:4383) javax.swing.table.AbstractTableModel.fireTableChanged (AbstractTableModel.java:280) で

すべての行を削除する私のコード:

最後の既存の行を削除するだけでも同じことが起こります。

私がdeleteRowを呼び出す方法:

tm.deleteRow(行[i]); }

tm.fireTableDataChanged();

ご協力いただきありがとうございます

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

java - TableModel を作成し、jTable を動的に設定します

ルセン インデックスを読み取った結果を jTable に保存して、異なる列で並べ替えられるようにしたいと考えています。インデックスから、頻度の異なる尺度で用語を読んでいます。

表の列は次のとおりです: [string term][int absFrequency][int docFrequency][double invFrequency]

したがって、AbstractTableModel では列名を定義できますが、次のメソッドの結果で Object[][]data を取得する方法がわかりません。

したがって、AbstractTableModelの実装に進み、このテーブルにデータを入力して表示するために、ここで立ち往生しています.... :/

助けてください!

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

java - Java Swing - AbstractTableModel() を使用してテーブルから行を削除する

私は AbstractTableModel から離れたテーブルを持っています。テーブル内のデータはベクターに格納されます。行を削除すると、ベクトルから正常に削除されますが、これはビュー、つまり GUI で更新されません。

fireTableRowsDeleted() を使用する必要があることを他の場所で読みましたが、AbstractTableModel のラッパー メソッド内でそれを呼び出そうとしています。

しかし、この removeAl にはアクセスできません。どこでもこのように呼び出すことはできません:dataModel.removeAl()

何が問題なのかを理解するのを手伝ってもらえますか? 行の削除時に GUI を更新するにはどうすればよいですか?

編集: 結局のところ、問題は別の場所にありました。それを修正したら、Vector 自体から行を削除すると、GUI の更新が開始されました。:)

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

swing - AbstractTableModel を拡張するカスタム Model クラスの addElement メソッドを作成するにはどうすればよいですか?

ハードウェア割り当ての場合、Swing で JTable をセットアップし、AbstractTableModel を拡張するカスタム モデル クラスを介してテーブルの内容を入力する必要があります。この非常に複雑なプロセスに関する私の質問は多岐にわたりますが、できるだけシンプルにしようと思います。

私の最初のステップは、データをモデルに入れることですよね? 私が JList を使用していたとき (DefaultListModel を使用できました)、それは簡単list.addElement()でした。しかし、JTable モデルにデータを追加するのは簡単ではないことがわかりました。AbstractTableModel のデフォルトのメソッドは、行/列番号の取得で構成されており、それだけです。モデルにデータを取り込むには、独自の addElement モデルを作成する必要がありますか? それを行うための指針はありますか?

モデルにデータを取り込んだ後、それは単なる問題ですtable.setModel(myModel);か? 列と行のインデックスを処理するにはどうすればよいですか?

この問題に関する助けや洞察は本当にうまくいくでしょう。私は自分のコンピューターを窓から放り出すところまで来ています...

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

java - AbstractTableModel から列名を取得する

コンストラクターを使用して何かを理解できませんJTable(TableModel dm)

LinkedList を使用してデータを管理しているので、表示するために次のように拡張しましたAbstractTableModel

GUI を実行すると、 A、*B*、Cというラベルの付いた列名が表示されるため、何か間違ったことをしています。

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

java - AbstractTableModelで複雑なクラスを表す方法は?

私はこのクラスを持っています:

そして私はこのテーブルモデルを書きました:

ご覧のとおりLinkedList<Filter>、単純な文字列として表示したいものがあります。どうやってやるの?

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

java - Java スイング | AbstractTableModel を拡張し、JTable | で使用します。いくつかの質問

AbstractTableModel を実装するための Oracle のモデルに従いました

http://download.oracle.com/javase/tutorial/uiswing/examples/components/TableDemoProject/src/components/TableDemo.java

これを行ったのは、テーブルに 3 つの列を含める必要があり、最初の列が JCheckBox でなければならないためです。

これが私のコードです:

}

ここに私の質問があります:

  1. JTable ( new JTable(FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel)) は、列名とその値をどのように認識しますか? 私の AbstractTableModel にはコンストラクターがないので?! columnNames と data はそのままの名前を付ける必要があり、JTable がそれらにアクセスするためですか?
  2. JTable に新しい値を入れるにはどうすればよいですか? columnNames と data は配列なので。それらをベクターに置き換えることはできますか? もしそうなら、どうすればこれらのベクトルを初期化できますか? myAbsTableModel のコンストラクタで?

解決策を見つけるのは非常に簡単だと思いますが、このテーブルの処理は私にとって簡単ではないので、どうもありがとうございました!

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

java - JTable の列数を動的に変更する

を拡張する aJTableと aがあります。テーブルの列数を動的に設定したいと思います。名前付きの に属性を追加し、を返すことでこれを実装しました。を設定して呼び出すメソッド も追加しました。残念ながら、プログラムを実行すると、例外が発生し続けました。誰かが私が間違ったことを教えてくれますか、またはより良い解決策を提案できますか?TableModelAbstractTableModelTableModelcolumn_countgetColumnCountcolumn_countsetColumnCountcolumn_countfireTableStructureChangedArrayIndexOutOfBounds

スタック トレースは次のとおりです。
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 4 >= 4 at java.util.Vector.elementAt(Unknown Source) at javax.swing.table.DefaultTableColumnModel.getColumn(Unknown Source) at javax.swing.plaf.basic.BasicTableUI.paintGrid(Unknown Source) at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source) at javax.swing.plaf.ComponentUI.update(Unknown Source) at javax.swing.JComponent.paintComponent(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintToOffscreen(Unknown Source) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source) at javax.swing.RepaintManager$PaintManager.paint(Unknown Source) at javax.swing.RepaintManager.paint(Unknown Source) at javax.swing.JComponent._paintImmediately(Unknown Source) at javax.swing.JComponent.paintImmediately(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

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

java - AbstractTableModel の拡張時に JTable でセルを可視化する

要件に合わせて AbstractTableModel を拡張しました。これで、このテーブルは GUI の他の方法で変更できるようになりました。現在編集中のセルが表示されるまでテーブルをスクロールしたい。これを行うには、最初に現在の JComponent の JViewport を取得する必要があると思いますが、これを実現する方法はありませんか? どうすればこれを達成できますか?

デフォルトの JTable を使用したときに既にこれを行っていますが、AbstractTableModel を拡張するときにこれを行うにはどうすればよいでしょうか?

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

java - カスタムTableModelを使用してJTableの行を削除する方法

私は自分と同じような投稿を読んでいて、Javaチュートリアルページを読んでいますが、これを機能させることができないようです。基本的なものが欠けているかどうかはわかりません...

以下にカスタムテーブルモデルがあり、そこから行を削除できるようにする必要があります。テーブルは空で初期化され、行はコンボボックスと追加ボタンを介して追加されます。選択した行をテーブルから削除する必要がある削除ボタンもあります。

selectedRowコンソールのプリントで正しい行が含まれていることを確認しました。このfireTableRowsDeleted関数は何もしません。行はまだ存在します。特定の行を削除するにはどうすればよいですか?

ありがとう、