3
jtableの特別な種類を作成しようとしています。私は、テーブル全体をデフォルトでは編集できないようにしたい。しかし、ユーザーが行をクリックした後、 "Edit" jbuttonをクリックすると、その行が編集可能になります。一度それらの行を選択しなくなると、その行は編集できなくなります。JTableで編集できる行は1行だけです
は、どのように私はこれを行うに行きますか?
jtableの特別な種類を作成しようとしています。私は、テーブル全体をデフォルトでは編集できないようにしたい。しかし、ユーザーが行をクリックした後、 "Edit" jbuttonをクリックすると、その行が編集可能になります。一度それらの行を選択しなくなると、その行は編集できなくなります。JTableで編集できる行は1行だけです
は、どのように私はこれを行うに行きますか?
どのセルを編集可能にするかを制御するには、JTableまたはJTableModelを拡張する必要があります(下の例ではモデルへの呼び出しを参照)ので、JTableのこのメソッドが行のすべてのセル)あなたの仕様に基づいて編集可能にしたい。
public boolean isCellEditable(int row, int column) {
return getModel().isCellEditable(row, convertColumnIndexToModel(column));
}
も編集可能なテーブルを設定するボタンアクションを扱うから、全体のプロセスを理解する必要がありますTableCellEditors
について学ぶためにthis tutorialを見てみましょうか? – akf
なぜ、すべての行を編集可能にするだけですか?おそらく、2番目の列を編集可能にしたいだけでしょうか?別の編集ボタンを使用するよりもすぐにクリックと編集が異なるのはなぜですか? – akarnokd
変更したくない行を人が誤って変更することを避けるために、ただ1つの行を編集できるようにしたい。行をクリックして「編集」をクリックすると、行を編集することが絶対的に意味されます。 isCellEditableをオーバーライドしています。私はこれをどのように行うのか知っています。 – Danny