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
Barbara Streisandasal
2024-12-14 05:40:10238semak imbas

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);
    }
}

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);
}

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);

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!

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