Rumah > Java > javaTutorial > Bagaimana untuk Menyegarkan Warna Latar Belakang untuk Baris dalam JTable?

Bagaimana untuk Menyegarkan Warna Latar Belakang untuk Baris dalam JTable?

Barbara Streisand
Lepaskan: 2024-12-14 05:40:10
asal
230 orang telah melayarinya

How to Refresh Background Color for a Row in JTable?

Menyegarkan warna latar belakang untuk satu baris dalam JTable

Apabila bekerja dengan Swing JTables, adalah mungkin untuk menetapkan warna latar belakang baris individu menggunakan pemapar sel tersuai. Dengan melaksanakan kaedah prepareRenderer dalam kelas pemapar, anda boleh memanipulasi warna latar belakang berdasarkan keadaan tertentu atau interaksi pengguna.

Pertimbangkan contoh berikut:

public class ColorTable extends JTable {

    private static final long serialVersionUID = 1L;
    private Map<Integer, Color> rowColors = new HashMap<>();

    @Override
    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {

        Component c = super.prepareRenderer(renderer, row, column);
        if (!isRowSelected(row)) {
            Color color = rowColors.get(row);
            if (color != null) {
                c.setBackground(color);
            } else {
                c.setBackground(getDefaultRenderer(getColumnClass(column)).getBackground());
            }
        }
        return c;
    }

    public void setRowColor(int row, Color color) {
        rowColors.put(row, color);
    }
}
Salin selepas log masuk

Dalam contoh ini, ColorTable kelas memanjangkan JTable dan membolehkan anda menentukan warna latar belakang yang berbeza untuk baris dengan memanggil kaedah setRowColor. Ini berguna untuk menunjukkan secara visual status atau kepentingan baris individu dalam jadual.

Menetapkan semula warna baris

Untuk menetapkan semula warna latar belakang semua baris kepada lalai warna, anda boleh menggunakan kaedah seperti berikut:

public void resetRowColors(Color defaultColor) {
    rowColors.clear();
    setBackground(defaultColor);
}
Salin selepas log masuk

Contoh penggunaan:

// Create a ColorTable
ColorTable table = new ColorTable();

// Add data to the table
table.setModel(new DefaultTableModel(new Object[][], new String[]{}));

// Set background color for specific rows
table.setRowColor(0, Color.GREEN);
table.setRowColor(1, Color.RED);

// Reset row colors to default
table.resetRowColors(Color.WHITE);
Salin selepas log masuk

Dengan melaksanakan pemapar sel tersuai dan menyediakan kaedah untuk menetapkan dan menetapkan semula warna baris, anda boleh mengubah suai penampilan baris JTable dengan mudah berdasarkan keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyegarkan Warna Latar Belakang untuk 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