Rumah > Java > javaTutorial > Mengapa Baris JTable Saya Mendua, dan Bagaimana Saya Boleh Membetulkannya Menggunakan `fireTableStructureChanged()`?

Mengapa Baris JTable Saya Mendua, dan Bagaimana Saya Boleh Membetulkannya Menggunakan `fireTableStructureChanged()`?

Susan Sarandon
Lepaskan: 2024-12-22 10:05:46
asal
790 orang telah melayarinya

Why Are My JTable Rows Duplicating, and How Can I Fix It Using `fireTableStructureChanged()`?

Pendua Baris JTable: Menangani Punca Punca

Dalam kes ini, isu dengan nilai pendua dalam baris JTable berpunca daripada pelaksanaan yang salah kaedah fireTableDataChanged() dalam adat CollectionDataModel.

Pelaksanaan yang betul fireTableDataChanged()

Kaedah fireTableDataChanged() harus memberitahu JTable bahawa data asas telah berubah, mencetuskan kemas kini paparan jadual. Dalam coretan kod yang disediakan, kaedah itu nampaknya tidak dilaksanakan.

Untuk melaksanakannya dengan betul, tambahkan kod berikut pada penghujung kaedah populate():

fireTableStructureChanged();
Salin selepas log masuk

Penjelasan

Kaedah fireTableStructureChanged() menunjukkan bahawa struktur data, seperti bilangan lajur atau baris, telah berubah. Ini mencetuskan jadual untuk membina semula lajur dan barisnya dengan betul.

Kod Contoh

Berikut ialah kod yang diperbetulkan dengan kaedah fireTableStructureChanged() dilaksanakan:

public void populate(Collection c) {
    data.clear();
    for(Item i : c.getItems()) {
        ArrayList<String> row = new ArrayList<String>();
        for(Property p : i.getProperties().values()) {
            row.add(p.toString());
        }
        data.add(row);
    }
    fireTableStructureChanged();
}
Salin selepas log masuk

Dengan melaksanakan kaedah fireTableStructureChanged() dengan betul, jadual akan dikemas kini dengan betul apabila data baharu diisi, menghalang penampilan baris pendua.

Atas ialah kandungan terperinci Mengapa Baris JTable Saya Mendua, dan Bagaimana Saya Boleh Membetulkannya Menggunakan `fireTableStructureChanged()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan