バックエンド データ構造との JTable の同期
提供されたデータ構造では、範囲は NavigableMap として表され、各範囲は値とそれに対応するブール値の NavigableMap が含まれます。ユーザー編集中にデータ構造と JTable の間の同期を維持するかどうかという問題が生じます。
同期アプローチ
一度データ構造を再作成することをお勧めします。ユーザーは JTable の編集を完了します。このアプローチにより、すべての変更が行われ検証された後にのみデータ構造が更新されます。
データ検証用のカスタム エディター
データ検証を処理するには、範囲内の値ごとに 2 つの個別のテキスト フィールドを含むポップアップ ダイアログを表示するカスタム エディター。これにより、ユーザーは指定された範囲内の各値を double として編集できるようになります。編集した値はモデルに保存する前に、範囲に準拠していることを保証するカスタム関数を使用して文字列としてフォーマットされます。
カスタム エディターの例
以下はポップアップ ダイアログを使用したカスタム エディターの例:
public class TablePopupEditor extends DefaultCellEditor { private PopupDialog popup; private String currentText = ""; private JButton editorComponent; // ... (continued from above) public static void main(String[] args) { // ... (creating table and popup editor) JFrame frame = new JFrame("Popup Editor Test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(scrollPane); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } } class PopupDialog extends JDialog implements ActionListener { // ... (continued from above) }
以上がユーザー編集中に JTable をバックエンドの NavigableMap データ構造と同期するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。