問題タブ [tablecelleditor]
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 - itemStateChangedでTableCellRendererの行を取得します
JTableのカスタムTableCellRenderer
(ValueRenderer)があり、セルはCheckbox
です。
この例ItemListener
で説明したように、チェックボックスの状態の変化(選択/選択解除)をリッスンするために、valueRendererにをアタッチしました。
私の問題は、ソースがValueRendereritemStateChanged(ItemEvent e)
であることを知っているので、このチェックボックスが含まれている行を取得する方法がわからないことです。ItemEvent
手伝って頂けますか?
これが私のコードの一部です:
カスタムTableCellRender:
ItemListener:
java - ユーザーの入力に合わせて JTable 行の高さを変更するにはどうすればよいですか?
編集可能な JTable があります。ユーザーが入力すると、テキストが幅よりも長い場合、高さを大きくする必要があります。linewrap を true に設定しましたが、ユーザーが Enter キーを押した後にのみ高さが変わります。私は何が欠けていますか?サイズ変更の問題を解決する回答を見てきました (これは cellRenderer にありますが、入力が終わった後ではなく、ユーザーが入力するときに高さを調整する必要があります。
swing - JTable への KeyListener の追加
に を追加しましKeyListener
たJTable
。しかし、表のセルをダブルクリックすると、KeyListener
動作が停止します。
jface - jface tableviewer、セルごとに異なるセルエディタを使用する方法は?
jface tableviewerでセルごとに異なるセルエディタを指定する方法はありますか?セルエディタが列ベースで指定されていることは知っていますが、セルベースでセルエディタを指定したいのですが、回避策はありますか、それとも可能ですか? ?
java - JTableにデータを入力しても、選択したセルの内容は変更されず、セルの編集が呼び出されます。どうすればこれを回避できますか?
JTablesを使用してデータを表示するアプリケーションがあり、ユーザーがデータを変更できるようにセルを編集できます。ユーザーは、変更を元に戻したり、外部ソースからデータをロードしたりすることもできます。ただし、ユーザーがキーボードショートカットを使用してデータを元に戻す/ロードする場合、マウスフォーカスがテーブルから離れないようにすると、現在選択されているセルは元に戻されません。実際、更新後、セルは編集モードになります。次に、ユーザーがこのセルから離れると、変更イベントがトリガーされるため、古い値がデータストアにコミットされます。
この問題を示す短いサンプルプログラムがあります。これは、すべてのセルに値0が表示されているテーブルを示しています。「インクリメント」と呼ばれる単一のメニュー項目を持つファイルメニューもあり、Ctrl-Iのキーボードショートカットがあります。Incrementコマンドが呼び出されるたびに、すべてのセルに表示されている数が増加します。問題を確認するには、次の手順を実行します。
- プログラムをコンパイルして実行します
- Ctrl-Iを何度も押して、Incrementコマンドを呼び出します。セルの値は毎回増加することに注意してください。
- セルをクリックします。
- Ctrl-Iを何度も押して、Incrementコマンドを呼び出します。選択されたセル値を除いて、すべてのセル値が増加することに注意してください。
更新する前にテーブルから選択を削除するためのさまざまな方法を試しましたが、役に立ちませんでした。ない
または
たとえば、働いた。
サンプルプログラムは次のとおりです。
java - 携帯電話番号のみを受け入れることができるjtableの列を検証する方法は?
これは私がやったことですが、このコードは、9874561231 を入力するとこの番号を挿入できないなど、状況によっては失敗します。
java - Javaのセルエディタクエリ
もちろん、異なるインスタンスで初期化された各列に共通のセルエディターフィールドを使用しているテーブルがあります。
ここで、テーブルに複数の列を持つエントリがあり、行エントリが使用されている場合、ユーザーが行を編集しようとすると、名前フィールドとしましょう。セル エディタをクリックすると、次のようなダイアログが表示されます。エントリは使用中のため、変更できません。
しかし、名前フィールドをクリックして変更し、すぐに名前フィールドに隣接する次の列をクリックすると、住所など、ポップアップが表示される前に住所フィールドに住所ではなく名前が表示され、クリックするまで「ポップアップ ダイアログで「OK」をクリックすると、アドレスの値に名前フィールドの値が表示され、ダイアログを閉じると、アドレスの値が再び表示されます。
住所フィールドの値が名前フィールドの値で変更されないように一貫性を保つ方法は?
java - セルデータが変更または変更されていないことを知る方法は?
私は、ユーザーが場所細胞を編集できるようにするテーブルを設計しています。つまり、ユーザーはテーブルセルをその場で編集できます。その行のいずれかのセルが更新または編集されている場合は、「編集」の画像を行の最初のセルに設定して、その行を「編集」としてマークしたいと思います。にを追加しましCellEditorListener
たJTable
が、セルデータが変更または変更されていないことをどのように知ることができますか?ユーザーがプログラム制御の編集を終えると、editingStopped()に移動しますが、ユーザーがデータを更新していないことをどのようにして知ることができますか?
セルからデータを更新せずにユーザーが戻ってきたときに、プログラム制御をeditingCanceled()に移行すると想定しています。他にアプローチはありますか?
java - 一部の列を編集可能および編集不可のままにし、セルをダブルクリックするだけでセルを編集できるようにする必要があります
の私の実装ではJTable
。一部の列を編集可能にし、一部の列を編集不可にしておく必要があるため、上書きしましたisCellEditable
-
今私の要件は、ダブルクリックでのみセルを編集できるようにすることです。つまり、ユーザーがセルをダブルクリックすると、編集可能モードになります。このためには、独自のものを作成してCellEditor
オーバーライドする必要があります。
誰かが使用できるかどうかを提案できますか-
助けてください -
java - キーを押したときにテーブルが編集可能モードであっても、「JTable」がテキストを検索できるようにしてください
ユーザーがキーボードを使用してキーを押し始めるJTable
と、一致するテキストが検索され、ユーザーがセルをダブルクリックすると、テーブルでテキストを編集できるようになります。
問題は、テーブルが編集不可モードの場合にのみテーブルがテキストを検索し、テーブルが編集可能で、ユーザーがテキストを使用してキーボードを入力し始めると、セルは検索ではなくセルを編集できるようにすることです。Mr mKorbelは私の問題を解決し、 Table cell をダブルクリックした場合にのみ編集できるようにしました。
JTable
キーを押してテーブルが編集可能モードになっている場合でも、テキストを検索 できるようにしてください。