JTable 與後端資料結構同步
在提供的資料結構中,範圍表示為NavigableMaps,每個範圍包含值及其對應布林值的NavigableMap。問題是在使用者編輯期間是否保持資料結構和 JTable 之間的同步。
同步方法
建議一旦使用者完成 JTable 的編輯。這種方法確保僅在完成所有變更並驗證後才更新資料結構。
用於資料驗證的自訂編輯器
要處理資料驗證,請考慮建立自訂編輯器,顯示彈出對話框,其中包含範圍內每個值的兩個單獨的文字欄位。這允許使用者將每個值編輯為指定範圍內的雙精度值。在將編輯後的值儲存到模型之前,使用自訂函數將其格式化為字串,以確保符合範圍。
自訂編輯器範例
以下是使用彈出對話方塊的自訂編輯器的範例:
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中文網其他相關文章!