إضافة JCheckBoxes إلى كافة الخلايا في عمود باستثناء آخر خلية

في نموذج الجدول الخاص بي ، أقوم بإرجاع Boolean.class في getColumnClass بحيث يتم عرض مربعات الاختيار في العمود الأول. هل من الممكن إضافة مربعات الاختيار إلى جميع الخلايا في العمود الأول باستثناء آخر خلية (بجانب الإجمالي)؟ انظر قطة. شكر!

enter image description here

0

1 إجابة

Of course, you just need to implement a TableCellRenderer that returns null when rendering the last row && first column like this one:

public class CustomTableCellRenderer implements TableCellRenderer {

    private final TableCellRenderer decorate;

    public CustomTableCellRenderer(final TableCellRenderer decorate) {
        super();
        this.decorate = decorate;
    }

    public Component getTableCellRendererComponent(final JTable table, final Object value,
            final boolean isSelected, final boolean hasFocus, final int row, final int column) {
        if (column == 0 && row == table.getRowCount() - 1) {
            return null;
        }
        return decorate.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
}

الآن تحتاج إلى تعيين CellRenderer للخلية Boolean مع مثيل لهذا التنفيذ مثل:

    TableColumn column = table.getColumnModel().getColumn(0);
    column.setCellRenderer(new CustomTableCellRenderer(table.getDefaultRenderer(Boolean.class)));

مع هذا التنفيذ ، سيتم عرض الصف الأخير/العمود الأول فارغًا.

0
وأضاف
Uhlen شكرا على التعليق ، لقد غيرت ذلك ؛)
وأضاف المؤلف Francisco Spaeth, مصدر
شكرا ، يعمل الحل الخاص بك!
وأضاف المؤلف BJ Peter DeLaCruz, مصدر
يجب عليك تحديد rowCount في مقابل الجدول ، وليس في ملف نصي في حالة تصفية الجدول. خلاف ذلك إجابة جيدة =)
وأضاف المؤلف Uhlen, مصدر