テーブルの更新イベントをキャッチして、現在の値が何であるか、影響を受ける列と行の新しい値を確認したい場合があります。それが期待どおりでない場合、私は更新を取り消して元に戻すことを希望します。これは、TableModelListenerを使用するのは非常に難しく、スタックオーバーフローエラーが発生し続けることがあります。手動で状態を維持して再帰的に再呼び出しすることなく元の状態に戻すことができないためです。スイングでテーブル更新イベントをキャンセルする
1
A
答えて
3
独自のTableModelを作成(またはDefaultTableModelまたはAbstractTableModelを拡張)し、setValueAtをオーバーライドします。そこでは、基礎となるモデルを(super.setValueAt()を使用して)更新することも、スローすることもできます。スーパークラスを呼び出さない限り、変更は決して通過しないため、古い値です。
+0
美しい..なぜ私はそれを考えなかったのですか:) ..ありがとうKylar .. – sethu
+0
editCellAt()とeditingStopped()の間のどこかで傍受することもできるかもしれませんが、@Kylarは最も単純です提案。 – user949300
関連する問題
- 1. JSON-LD「イベント予約」の更新とキャンセル
- 2. Scala - スイングでJFreeChartを更新
- 3. ObjectDataSource更新イベント中にGridview編集をキャンセルします
- 4. 別のスイングGUIクラスでjTextFieldを更新
- 5. Javaのスイング:KEY_TYPEDイベント
- 6. jQuery - ドロップダウンの確認ダイアログで変更イベントをキャンセルする
- 7. 更新をキャンセルできません
- 8. キャンセルApple自動更新サブスクリプション
- 9. Cシャープでイベントをキャンセルする
- 10. Windows Phoneでイベントをキャンセルする
- 11. アンドロイドでイベントをキャンセルする方法
- 12. テーブルを更新するためのMySQLイベントの作成
- 13. リモートosgiインスタンスを自動更新する(スイングGUI)
- 14. Javaスイングの背景の図面を更新するには?
- 15. Googleカレンダーでイベントを更新する
- 16. 更新/イベントのページリクエストを変更する
- 17. バインディングを使用してWPFで更新をキャンセルする
- 18. Delphi:OnBeforePostイベントでのTDataSet.Postのキャンセル
- 19. セカンダリJavaScriptイベントのキャンセル
- 20. スイングで `NullPointerException` AWTスレッド - JLightweightFrameでのカーソルの更新
- 21. スイングでフレームをテーブルに追加
- 22. 入力タイプ= "ファイル"のイベントをキャンセルする
- 23. JQuery他のイベントをキャンセルする
- 24. C#TextBox。ASPXのCancelイベントをキャンセルする
- 25. jqGridの削除イベントをキャンセルする
- 26. キーアップで更新イベントが発生する
- 27. スイングで別のGUIウィンドウからイベントを処理する方法
- 28. Javaスイングで別のコンポーネントとイベントを送受信する方法
- 29. テーブルを更新する
- 30. テーブルを更新する
TableModelEventが起動されると、データはモデル内で既に変更されています。イベントをキャンセルするには遅すぎます。モデルが変更されないようにするには、セルのエディションをキャンセルする必要があります。 –
私はJBが、私が手動で状態を維持しようとしていた理由と解決策が逆火されたことを理解しています。セルのエディションをキャンセルするには、どのイベントを捕まえなければなりませんか?そして私はそれをどのように取り消すのですか? ..ありがとう。 – sethu
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#validtextを参照してください。 –