問題タブ [defaulttablemodel]
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 - DefaultTableModel の dataVector の複製に関する問題
私はフレームにシンプルJFrame
とAを持っています。JTable
ユーザーは、テーブルの行にデータを提供できます。要件の 1 つは、フレームを閉じた後に新しいデータを保存または破棄できることです。この動作を実現する最も簡単な方法は次のとおりだと思いました。
フレームのメソッドをオーバーライドし、のデータ ベクトル
setVisible()
を複製します。DefaultTableModel
フレームに を追加
WindowListener
し、イベントに反応しWindowClosing
ます。このようにして、ウィンドウ リスナーは、モデルを以前に保存されたモデルにリセットする必要があるかどうかを判断できます。
関連するコード スニペットは次のとおりです。
実は、おかしなことが起こっています。データ ベクトルを複製した後、テーブルをレンダリングできず、次の例外が発生します。
この表は、 とはまったく関係がありませんoriginalModel
。理論的には、複製がテーブルのモデルに影響を与えるべきではないので、これは私にとって驚きです。originalModel の意図は、新しく作成されたテーブル モデルのコピーへの参照を保持することです。の作成をコメントアウトした後originalModel
、すべてが正常に機能しました。
もう 1 つの興味深い点はString
、headerNames
ベクターに空を追加すると、テーブル レンダラーがほぼ同じArrayIndexOutOfBounds
例外をスローすることですが、次のようになります。
その場合、最初の行の最初の列は完全にレンダリングされました。
MyCustomTableModel
は から拡張されてDefaultTableModel
おり、特別なメソッドは使用していません。コンストラクターは、単にデータ ベクトルとヘッダー ベクトルをスーパークラスに渡します。
誰かが問題を解決するのを手伝ってくれることを願っています。前もって感謝します。
java - DefaultTableModelを使用するJTableの特定のセルにフォントの色を適用する方法
MS Accessに接続された単純なTo-DoリストJavaアプリケーションを作成しようとしていますが、JTableとDefaultTableModelを使用してリストを表示しました。ボタンをクリックしたときに色を変えて、完了したタスクにマークを付けたい。インジケーターとして機能する「 completed 」という名前のブールフィールドがあります。
私はすでにcustomFontと呼ばれるFontオブジェクトを持っており、これを適用する準備ができています。私の質問は、completed==trueである特定のセルにのみそれを適用するにはどうすればよいですか。
サンプルコードをいただければ幸いです。
java - テーブルヘッダーの名前を変更します
私のJTableでは、右クリックオプションを使用してテーブルヘッダーの名前を変更したいと思います。任意のヘッダーを右クリックすると、ヘッダーの名前変更のオプションが表示されます。ただし、これを行うと、選択した列のヘッダーの名前が変更されます。したがって、最初にその列を左クリックする必要があります。その後、さらに処理できます。任意の列を右クリックすると、名前が変更された後に値の名前が変更されるように選択される方法はありますか?
私のアクションリスナーは以下の通りです:
java - DefaultTableModelが空ですか?
ファイルを読み込んでいて、それをjTableに出力して表示および編集したいと考えています。DefaultTableModelに行を追加しようとすると、何らかの理由でモデルが常に空になります。任意のヘルプ/指示をいただければ幸いです。ありがとう!
}
java - getValueAt() メソッドが null を返す
defaulttablemodel のすべての値を SQL データベースに保存しようとしていますが、table.valueAt() を介して最後に挿入された行に値を出力しようとすると、null が返されます。
java - 値を挿入する方法と、NETBEANS ビジュアル GUI を使用して JTable を作成する JTable で必要なときに実行時に行を増やす方法を教えてください。
値を挿入する方法と、NETBEANS ビジュアル GUI を使用して JTable を作成する JTable で必要なときに実行時に行を増やす方法は??
netbeans ビジュアル GUI で JTable を作成した後、実行時に行番号を増やす方法がわかりません。
java - DefaultTableModel が更新されない
新しいデータがデータベースに入力された後、JTable が更新されません。結果を確認するには、終了して再度実行する必要があります。DefaultTableModel と fireTableDataChanged を含めました。私は他に何を逃したのですか?ありがとう!
「更新ボタン」を作成して、代わりに値を更新できますか?
java - DefaultTableModelのすべての行を削除します
DefaultTableのすべての行を削除したい。インターネット上でそれらを削除する2つの一般的な方法を見つけましたが、これらのメソッドがDefaultTableModelに存在しないため、私の場合はどれも機能しません。なんでだろうか。DefaultTableModelを使用するための私のコードは
削除する1つの方法は
しかし、このremoverowメソッドは私のDefaultTableModelに存在しません。
java - ペイント中に JTable が IndexOutOfBoundsException をスローする
こんにちは、 を使用しJTable
てデータベースからデータを表示するアプリケーションを構築していますが、ペイント中にを取得IndexOutOfBoundException
し続けています。tableModel.getValueAt(row,col)
コードをデバッグしましたが、データがDefaultTableModels
データ ベクトルに保存されていないようです。
これは私のコードです...
これは例外です...
tableModel.getDataVector().getElementAt(0).getElementAt(0)
コードをデバッグし、 andへの呼び出しを追加しましたtableModel.getRowCount()
。awt イベントキューと同様に、getRowCount()
返されましたが、例外1000
がgetElementAt()
発生しました。IndexOutOfBounds
私がやったことはうまくいくはずだと思いますが、明らかに欠けているものがあります。