KTable的設置單元格屬性

KTable 中,單元格的繪製是經過 CellRenderer 對象來實現的,而單元格有固定和非固定的區分,所以對應的 CellRenderer 對象也不同,可是每一個 CellRenderer 對象都有 setAlignment() 接口,用來設置單元格的對齊方式:
public class TableDetail extends KTableDefaultModel {
 
    // 固定單元格繪製對象
    private final FixedCellRenderer m_fixedRenderer = new FixedCellRenderer(
            FixedCellRenderer. STYLE_FLAT
                    | TextCellRenderer. INDICATION_FOCUS_ROW );
 
    // 非固定單元格繪製對象
    private final TextCellRenderer m_textRenderer = new TextCellRenderer(
            TextCellRenderer. INDICATION_FOCUS_ROW );
 
    @Override
    /**
     * 返回指定單元格的繪製對象
     */
    public KTableCellRenderer doGetCellRenderer( int col, int row) {
        if (isFixedCell(col, row))
        {
            // 設定單元格對齊方式,水平和垂直居中
            m_fixedRenderer .setAlignment(SWTX. ALIGN_VERTICAL_CENTER | SWTX. ALIGN_HORIZONTAL_CENTER );
            return m_fixedRenderer ;
        }
 
        return m_textRenderer ;
    }
}
 
注意:設置對齊方式時,必定要同時設置水平和垂直對齊方式,缺了任何一種都會致使程序拋出錯誤。

調用 CellRenderer setForeground() 設置前景色,也就是字體顏色。 調用 CellRenderer setBackground() 設置背景色。
相關文章
相關標籤/搜索