JTabel設置特定行的顏色和特定列的對齊方式

 /**
     * 設置特定行的顏色和特定列的對齊方式
     */
    private void m_changeRowColor() {

        DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {

            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

                                    //設置特定行的顏色(第13列以‘2’開頭的行變成紅色)
                    if (jTable_data1.getValueAt(row, 13) != null && !jTable_data1.getValueAt(row, 13).equals("")  && jTable_data1.getValueAt(row, 13).toString().trim().charAt(0) == '2') {
                        setForeground(Color.red);
                    } else {
                        setForeground(Color.BLACK);
                    }
                    //設置特定列的對齊方式
                    if (column == 3 || column == 5 || column == 12) {
                        //左對齊
                        setHorizontalAlignment(2);
                    } else {
                        //居中
                        setHorizontalAlignment(0);
                    }
               

                return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            }
        };
        for (int i = 0; i < table.getColumnCount(); i++) {
            table.getColumn(table.getColumnName(i)).setCellRenderer(tcr);
        }
    }

 

根據自己需求更改判斷條件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章