天天看點

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,如需轉載請自行聯系原作者