Rumah > Java > javaTutorial > Bagaimana untuk Menyegerakkan Pilihan Kotak Semak Berbilang Baris dalam JTable?

Bagaimana untuk Menyegerakkan Pilihan Kotak Semak Berbilang Baris dalam JTable?

Patricia Arquette
Lepaskan: 2024-12-18 17:10:15
asal
196 orang telah melayarinya

How to Synchronize Multiple Row Checkbox Selections in a JTable?

Pemilihan Berbilang Baris dalam JTable

Apabila berhadapan dengan JTable yang mengandungi teks tidak boleh diedit dan kotak pilihan boolean, adalah wajar untuk menyahtanda semua kotak di bawah pilihan apabila mana-mana satu daripadanya dinyahtanda, dan sebaliknya sebaliknya.

Untuk memudahkan tingkah laku ini, pertimbangkan contoh di bawah:

import java.awt...;
import javax.swing...;

public class CheckABunch extends JPanel {
    // Constants and variables for data model and JTable setup
    private static final int CHECK_COL = 1;
    private static final Object[][] DATA = {...};
    private static final String[] COLUMNS = {...};
    private DataModel dataModel = ...;
    private JTable table = ...;
    private DefaultListSelectionModel selectionModel;

    // Constructor initializes the interface and selection model
    public CheckABunch() {
        super(new BorderLayout());
        ...
        table.setPreferredScrollableViewportSize(...);
        selectionModel = ...;
    }

    // DataModel provides custom column classes and editability
    private class DataModel extends DefaultTableModel {
        public DataModel(Object[][] data, Object[] columnNames) {...}
        public Class<?> getColumnClass(int columnIndex) {...}
        public boolean isCellEditable(int row, int column) {...}
    }

    // ControlPanel contains buttons for selecting and clearing
    private class ControlPanel extends JPanel {
        public ControlPanel() {...}
    }

    private class SelectionAction extends AbstractAction {
        boolean value;
        public SelectionAction(String name, boolean value) {...}
        public void actionPerformed(ActionEvent e) {...}
    }

    // Main method for creating and displaying the interface
    public static void main(String[] args) {...}
}
Salin selepas log masuk

Dalam contoh ini, SelectionAction mengendalikan klik butang untuk mengemas kini kotak pilihan berdasarkan pilihan pengguna. DataModel memastikan bahawa lajur kotak semak boleh diedit dan jenis yang betul.

Dengan menggunakan pendekatan ini, anda boleh melaksanakan pemilihan dan penyegerakan kotak pilihan berbilang baris dengan mudah dalam JTable anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyegerakkan Pilihan Kotak Semak Berbilang Baris 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