Rumah > Java > javaTutorial > teks badan

Bagaimana untuk mencapai pemilihan sel tidak berterusan dalam JTable?

Susan Sarandon
Lepaskan: 2024-11-09 01:13:02
asal
308 orang telah melayarinya

How to achieve non-continuous cell selection in a JTable?

Pemilihan Sel Bukan Berterusan dalam JTable

Membenarkan pengguna memilih sel bukan berterusan individu dalam JTable memberikan lebih fleksibiliti dan kemudahan pengguna. Begini cara anda boleh mencapainya:

CTRL MOUSE_CLICK

Jika anda ingin mendayakan pemilihan sel tidak berterusan tanpa mengingati sel terakhir yang dipilih, hanya tahan kekunci CTRL sambil mengklik pada sel yang dikehendaki . Kaedah ini membenarkan pemilihan sel yang mudah dan terus tanpa mengubah suai kelakuan JTable lalai.

PelaksanaanListSelectionModel

Sebagai alternatif, anda boleh melaksanakan ListSelectionModel tersuai yang menyokong pemilihan sel bukan berterusan. Ini perlu apabila anda memerlukan kawalan khusus ke atas proses pemilihan, seperti mengekalkan sel terpilih terakhir atau melaksanakan peraturan pemilihan tersuai.

Kod berikut menunjukkan penggunaan ListSelectionModel tersuai untuk pemilihan sel bukan berterusan dalam JTable:

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;

public class NonContinuousSelectionModel extends DefaultListSelectionModel {

    @Override
    public boolean isSelectedIndexSelected(int index) {
        boolean selected = super.isSelectedIndexSelected(index);
        if (selected) {
            return true;
        }
        int minIndex = getMinSelectionIndex();
        int maxIndex = getMaxSelectionIndex();
        if (minIndex == -1) {
            return false;
        }
        if (index < minIndex || index > maxIndex) {
            return false;
        }
        for (int i = minIndex; i <= maxIndex; i++) {
            if (i == index) {
                continue;
            }
            if (super.isSelectedIndexSelected(i)) {
                return false;
            }
        }
        return true;
    }
}
Salin selepas log masuk

Untuk menggunakan ListSelectionModel ini, anda boleh menetapkannya kepada JTable menggunakan kaedah setSelectionModel:

JTable table = new JTable(data, columnNames);
table.setSelectionModel(new NonContinuousSelectionModel());
Salin selepas log masuk

Pendekatan ini membolehkan penyesuaian dan kawalan yang lebih besar ke atas proses pemilihan sel , mendayakan senario pemilihan kompleks yang mungkin tidak disokong oleh kelakuan JTable lalai.

Atas ialah kandungan terperinci Bagaimana untuk mencapai pemilihan sel tidak berterusan dalam JTable?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!