Rumah > Java > javaTutorial > Bagaimana untuk Mengekalkan Rendering Sel JTable Tersuai Selepas Pengeditan Sel?

Bagaimana untuk Mengekalkan Rendering Sel JTable Tersuai Selepas Pengeditan Sel?

Barbara Streisand
Lepaskan: 2024-12-06 12:00:32
asal
647 orang telah melayarinya

How to Preserve Custom JTable Cell Rendering After Cell Editing?

Mengekalkan Rendering Sel JTable Selepas Suntingan Sel

Dalam soalan sebelumnya, tumpuan adalah pada memformat lajur JTable sebagai rentetan tetapi dengan fungsi pengisihan sebagai dua kali ganda. Berikutan perbincangan ini, persoalan baharu timbul: Bagaimana untuk mengekalkan pemaparan sel selepas mengedit nilai sel?

Secara khusus, isunya ialah selepas menggunakan pemapar sel tersuai untuk memformat sel, dan kemudian melaksanakan editor JTextField , pemformatan pemapar tersuai hilang selepas sel diedit. Ini menimbulkan persoalan: adakah pemapar tidak bermaksud untuk meneruskan pemaparan sel selepas paparan data awal?

Menangani Isu

Nasib baik, bukan masalah pemapar gagal berfungsi sebagai dijangka. Kuncinya terletak pada memahami proses penyuntingan jadual. Apabila pengeditan berakhir, kaedah editingStopped() jadual mendapatkan semula nilai yang dikemas kini melalui getCellEditorValue() dan menggunakannya untuk setValueAt() dalam model. Ini, seterusnya, mencetuskan fireTableCellUpdated(), menggunakan pemapar yang ditetapkan. Oleh itu, mengatasi pemapar lalai sepatutnya memadai untuk mengekalkan pemformatan nombor.

Dalam kes di mana pelaksanaan memerlukan lebih fleksibiliti, menggunakan contoh pemapar sebagai komponen editor ialah pilihan yang berdaya maju. Berikut ialah contoh:

// ...

table.setDefaultRenderer(Double.class, new CurrencyRenderer(nf));
table.setDefaultEditor(Double.class, new CurrencyEditor(nf));

// ...

private static class CurrencyEditor extends DefaultCellEditor {

    // ...

    @Override
    public Object getCellEditorValue() {
        // ...
    }

    @Override
    public Component getTableCellEditorComponent(JTable table,
        Object value, boolean isSelected, int row, int column) {
        // ...
    }
}
Salin selepas log masuk

Dengan menggunakan pendekatan ini, pemapar tersuai digunakan untuk memaparkan sel dan memudahkan pengeditannya.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Rendering Sel JTable Tersuai Selepas Pengeditan Sel?. 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