ユーザーがセルを編集できるJTableがあります。ユーザーがセルを編集中である場合は、ユーザーが入力を検証できるようにするボタンを有効にする必要があります。しかし、私はユーザーがもはや編集モードにないときにこれをしたいだけです。 Jtable内のセルが現在編集中であるかどうかを簡単に検出できますか?JTableでセルが編集されているかどうかを調べる
は、私は、カスタムTabelModel
を使用して、検証を実行するsetValueAt
機能をオーバーライドします、
ユーザーがセルを編集できるJTableがあります。ユーザーがセルを編集中である場合は、ユーザーが入力を検証できるようにするボタンを有効にする必要があります。しかし、私はユーザーがもはや編集モードにないときにこれをしたいだけです。 Jtable内のセルが現在編集中であるかどうかを簡単に検出できますか?JTableでセルが編集されているかどうかを調べる
は、私は、カスタムTabelModel
を使用して、検証を実行するsetValueAt
機能をオーバーライドします、
も簡単:
if (!table.isEditing())
//
、ありがとうございました。ユーザーがテーブルセルの編集を完了すると、自動的に呼び出されます。
Jtableには、編集中のセルがあるかどうかを検出する方法があります。それは実際には非常に簡単です。単にmyJtable.getCellEditor()== nullかどうかを確認します。そうでない場合は、セルを編集しています。セルが編集されている場合は、編集中のセルはありません。
class TableEditor extends DefaultCellEditor{
JTextField com;
public TableEditor(){
getComponent().addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e){
com.setBackground(new Color.red);
}
});
}
}
そして
tb.setDefaultEditor(Object.class,new TableEditor());