天天看点

KTable的设置单元格属性

在KTable中,单元格的绘制是通过CellRenderer对象来实现的,而单元格有固定和非固定的区分,因此对应的CellRenderer对象也不一样,但是每个CellRenderer对象都有setAlignment()接口,用来设置单元格的对齐方式:

<b>public</b> <b>class</b> TableDetail <b>extends</b> KTableDefaultModel {

    //固定单元格绘制对象

    <b>private</b> <b>final</b> FixedCellRenderer m_fixedRenderer = <b>new</b> FixedCellRenderer(

            FixedCellRenderer.STYLE_FLAT

                    | TextCellRenderer.INDICATION_FOCUS_ROW);

    //非固定单元格绘制对象

    <b>private</b> <b>final</b> TextCellRenderer m_textRenderer = <b>new</b> TextCellRenderer(

            TextCellRenderer.INDICATION_FOCUS_ROW);

    @Override

    /**

     * 返回指定单元格的绘制对象

     */

    <b>public</b> KTableCellRenderer doGetCellRenderer(<b>int</b> col, <b>int</b> row) {

        <b>if</b> (isFixedCell(col, row))

        {

            //设定单元格对齐方式,水平和垂直居中

            m_fixedRenderer.setAlignment(SWTX.ALIGN_VERTICAL_CENTER | SWTX.ALIGN_HORIZONTAL_CENTER);

            <b>return</b> m_fixedRenderer;

        }

        <b>return</b> m_textRenderer;

    }

}

<b>注意:设置对齐方式时,一定要同时设置水平和垂直对齐方式,缺了任何一种都会导致程序抛出错误。</b>

调用CellRenderer的setForeground()设置前景色,也就是字体颜色。调用CellRenderer的setBackground()设置背景色。

本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/326502,如需转载请自行联系原作者