Penyegerakan JTable dengan Struktur Data Belakang
Dalam struktur data yang disediakan, julat diwakili sebagai NavigableMaps dan setiap julat mengandungi nilai NavigableMap dan nilai Boolean yang sepadan. Timbul persoalan sama ada untuk mengekalkan penyegerakan antara struktur data dan JTable semasa penyuntingan pengguna.
Pendekatan Penyegerakan
Adalah disyorkan untuk mencipta semula struktur data sebaik sahaja pengguna selesai mengedit JTable. Pendekatan ini memastikan bahawa struktur data dikemas kini hanya selepas semua perubahan dibuat dan disahkan.
Editor Tersuai untuk Pengesahan Data
Untuk mengendalikan pengesahan data, pertimbangkan untuk membuat editor tersuai yang memaparkan dialog pop timbul dengan dua medan teks yang berasingan untuk setiap nilai dalam julat. Ini membolehkan pengguna mengedit setiap nilai sebagai dua kali ganda dalam julat yang ditentukan. Sebelum menyimpan nilai yang diedit pada model, ia diformatkan sebagai rentetan menggunakan fungsi tersuai yang memastikan pematuhan julat.
Contoh Editor Tersuai
Di bawah ialah contoh editor tersuai menggunakan dialog pop timbul:
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) }
Atas ialah kandungan terperinci Bagaimana untuk Menyegerakkan JTable dengan Struktur Data NavigableMap Back-End Semasa Pengeditan Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!