問題タブ [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.

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

java - JTableでJButtonを修正するには? ボタンを押した後、テーブルの最後の位置で中断されるため

と に問題がJTableありJButtonます。ボタンを押すと、テーブルの最後の位置に一時停止します。以下のコードを実行してみてください。

最初に行「Open 4」を開き、ボタン「Close 4」で閉じます。その後、行「Open 3」を開くと、ボタン「4」がまだそこにあります...

これを修正する方法は?

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

java - セル編集後にJTableセルレンダリングを維持する方法

皆さんは私の最後の質問で正しい方向に私を向けるのにとても素晴らしかったです、そして私はここに私の元の質問の一種の拡張を持っています:

JTable列をStringとして設定し、Doubleとしてソートするにはどうすればよいですか?

カスタムセルレンダラーを使用して価格列を$###、## 0.00としてフォーマットしたので、セルにもJTextFieldエディターを設定しました。セルの編集は、値が更新された場合を除いて、問題なく機能します。カスタムレンダラーで設定された数値形式は、セルをフォーマットしなくなったようです(編集がコミットされた後、$が失われます)。このレンダラーは、データが最初に表示された後でもセルをレンダリングすることは想定されていませんか?

私は運が悪かったので次のものを使おうとしました:

これにより、カスタムレンダラーを使用してセルを再検証および再描画して新しい値をレンダリングするようにテーブルが強制されることを期待していましたが、残念ながらこれは機能しませんでした...

私は何かが足りないのですか...明らかに、しかし何ですか?

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

java - 2 列 (文字列、整数) と n 行を持つ JTable のカスタム CellEditor を実装します。

N 行 2 列の JTable があります。各セルのデータ入力にアクセスするには、カスタム CellEditor クラスを実装する必要があります。

table.getCellEditor(int row, int column).getCellEditorValue()

この CellEditor クラスを使用しました

しかし、正しいセル位置のデータにアクセスするには十分ではありません...(そして、すべてのテーブルがセル全体として見られているようです)

私が見つけたすべての例は、入力が正しくない場合にセルエディターを使用して編集セルをブロックすることに関連していますが、問題を解決するのに十分なほど明確なものです。

PSインターフェース全体がどのように機能するか(ではなく)、コード全体がどのように機能するかを詳細に確認したい場合は、次のとおりです。

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

java - JXDatePickerをエディターとして使用するCellEditor

JXDatePickerを使用して、JTableの日付セルを編集可能にする必要があります。TableCellEditorを実装する必要があると思いますが、自分でそれに取り組むつもりはありません。誰かが私を助けることができるリンクまたは簡単なコードを持っていますか?

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

java - JTable cellEditorは、テーブルデータモデルの変更後も残ります

列の1つにセルエディターをJSpinnerに設定しましたが、機能しますが、データモデルのデータが変更されると、以前に有効にしたエディターがまだ有効になっていて、古い行の値が表示されます(存在しません)または、変更されたデータの別の場所にあります)。

データが変更されたときに、選択したセルのエディターを非表示にして、入力した値を保存するにはどうすればよいですか?

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

java - JTable がユーザー入力を表示しないのはなぜですか?

MyTableCellEditor は、上書き編集 (Excel セルのような) とデータ入力規則 (parseDouble) を JTable に追加する必要があります。ユーザーが別のセルをクリックすると、ユーザーが入力した値がセルから消去されるのはなぜですか? IOW: セルに入力された値は、別のセルがクリックされるまで表示され、その後消えます。プログラムをステップ実行すると、ユーザーがセル値を編集すると getTableCellEditorComponent が呼び出され、セルの編集が完了すると getCellEditorValue が呼び出されます。

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

java - テーブル内の JTextField および JTextArea へのフォーカスの受け入れ

編集不可の JTextField、編集可能な JTextArea、編集可能な JTextField の 3 列の JTable があります。

私の問題は 2 つあります。最後の 2 つの列を背景で強調表示して編集できる状態にし、タブで移動するとカーソルが表示されるようにしたいと思います。また、特定のフォントも使用します。したがって、カスタム レンダラーとエディターです。

セルの 1 つを 2 回クリックすると成功しますが、キーボードを使用してそこに到達すると成功しません。セルからセルへタブを移動して (JTextArea の setTraversalKeys 呼び出しのおかげで) 入力を開始できますが、フォーカスがどこにあるのかわかりません。

コンポーネントがトリガーする背景色を設定するフォーカスイベントリスナーがあります。これは、セル編集に使用される JTextField および JTextArea で使用され、適切な手段としてセル レンダラーで使用されます。ただし、マウスをクリックするだけでトリガーされます。

タブで移動しているセルでフォーカス イベントが確実にトリガーされるようにするにはどうすればよいですか?

ありがとう。

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

java - 無効なデータが入力されたときに Java Swing JTable がフォーカスを失うのを防ぐ

現在、Java スイングのJTable/にフォーカスの問題があります。JTextEditorにはJTableカスタム セル エディタがあり、JTextField.

問題は、セルの編集中に無効なデータが含まれている場合に、ユーザーが をクリックするJButtonと、テキスト フィールドの編集が停止し、JButtonactionPerformed (クリックされた) が呼び出されることです。はJTable#setValueAt検証を処理するため、 のデータJTextFieldが無効な場合、基になるデータTableModelは更新されません。

JButton理想的には、クリックを発生させたくありません。フォーカスはJTableまたは にとどまる必要がありJTextFieldます。

ボタンをクリックすると、送信アクションが実行され、テーブルが含まれるフレームが閉じられます。 の検証ではTableModel#setValueAt値が更新されないため、古い値が送信されます。

これはできますか?私はまだSwingにかなり慣れていないので、何をチェックすればよいかわかりません。

残念ながら、私たちのコードは簡単ではありません。UI は XML から構築され、ボタンはフォーム上の他のものについて何も認識しません (これは私が継承したコードです)。

.net では、Validating イベントを処理してキャンセル フラグを設定することで、コントロールがフォーカスを失うのを止めることができます。Javaにも同様のメカニズムがありますか。

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

java - JTable で JPasswordField が正しく機能しない

列のセル エディターJPasswordFieldとして使用しています。JTableテキストの入力中は問題なく動作します。カーソルを別のセルに移動すると、単純なテキストが表示されます。

では、他のセルに移動している間、テキストを非表示にするにはどうすればよいでしょうか? 前もって感謝します。

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

java - カスタム テーブル セル レンダラー (ボタンとテキスト ボックス) の作成

Javaでカスタマイズされたテーブルを作成する方法を考えていましたか??? 4 つのテキスト ボックスとボタンが必要です。誰かが私のテーブルでこれを行う方法を教えてくれたら、とても感謝しています.