Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Mendayakan Pemilihan Sel Tidak Berterusan dalam JTable?

Bagaimanakah Saya Boleh Mendayakan Pemilihan Sel Tidak Berterusan dalam JTable?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 11:49:01320semak imbas

How Can I Enable Non-Continuous Cell Selection in a JTable?

Cara Mendayakan Pemilihan Sel Tidak Berterusan dalam JTable

Dalam pelaksanaan JTable standard, pengguna hanya boleh memilih kumpulan sel bersebelahan. Walau bagaimanapun, terdapat cara untuk menyesuaikan tingkah laku ini untuk membolehkan pemilihan sel individu dan tidak berterusan.

Kaedah 1: Menggunakan Pengubahsuai CTRL

Jika mod pemilihan JTable ditetapkan kepada ListSelectionModel.SINGLE_SELECTION, menahan kekunci CTRL sambil mengklik pada sel tidak berterusan akan memilihnya secara individu.

Kaedah 2: Mengatasi Kaedah processMouseEvent

Untuk lebih kawalan ke atas tingkah laku pemilihan, anda boleh mengatasi kaedah processMouseEvent subkelas JTable. Dalam kaedah yang diganti, anda boleh mengubah suai pengubah untuk meyakinkan JTable bahawa kekunci CTRL dimatikan semasa memproses acara tetikus.

Berikut ialah contoh coretan kod:

public class Ctrl_Down_JTable extends JTable {

    private static final long serialVersionUID = 1L;

    @Override
    protected void processMouseEvent(MouseEvent e) {
        int modifiers = e.getModifiers() | InputEvent.CTRL_MASK;
        int modifiersEx = e.getModifiersEx() | InputEvent.CTRL_MASK;
        MouseEvent myME = new MouseEvent((Component) e.getSource(), e.getID(), e.getWhen(), modifiers, e.getX(),
                e.getY(), e.getXOnScreen(), e.getYOnScreen(), e.getClickCount(), e.isPopupTrigger(), e.getButton());
        super.processMouseEvent(myME);
    }
}

Kaedah 3: Menggunakan Custom ListSelectionModel

Pilihan lain ialah mencipta ListSelectionModel tersuai yang menyokong pemilihan sel bukan berterusan. Ini melibatkan melanjutkan kelas DefaultListSelectionModel dan mengatasi kaedah khusus untuk melaksanakan kefungsian yang diingini.

Nota:

  • Tingkah laku pemilihan sel tidak berterusan mungkin berbeza-beza bergantung pada sistem pengendalian dan versi Swing yang digunakan.
  • Apabila menggunakan model pemilihan tersuai, ketahui potensi implikasi prestasi dan pastikan ia menepati keperluan khusus aplikasi anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendayakan Pemilihan Sel Tidak Berterusan dalam JTable?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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