首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JTable -扩展默认CellRenderer

JTable -扩展默认CellRenderer
EN

Stack Overflow用户
提问于 2014-08-12 09:21:48
回答 1查看 294关注 0票数 0

我使用一个大的JTable,我想为每个类扩展CellRenderer,所以每一秒行都有一个灰色背景,以使它更易读。

每第二行的灰色背景应该如下所示:http://i61.tinypic.com/of3sky.png

但是我仍然想要每个类的默认对齐,以及isSelected和hasFocus的默认设置。

背景代码应该很简单,如下所示:

代码语言:javascript
复制
if(row % 2 == 0){
            super.setBackground(new Color(200, 200, 200));
        }
        else{
            super.setBackground(Color.WHITE);
        }

但是,如何为每个类获取默认的CellRenderer,并以这种方式扩展它呢?

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-12 09:58:15

来自JTable交替行背景

要使JTable以不同的颜色呈现每一行,只需扩展JTable的prepareRender方法即可。

代码语言:javascript
复制
JTable table = new JTable(){
    public Component prepareRenderer(TableCellRenderer renderer, int row, int column){
        Component returnComp = super.prepareRenderer(renderer, row, column);
        Color alternateColor = new Color(252,242,206);
        Color whiteColor = Color.WHITE;
        if (!returnComp.getBackground().equals(getSelectionBackground())){
            Color bg = (row % 2 == 0 ? alternateColor : whiteColor);
            returnComp .setBackground(bg);
            bg = null;
        }
        return returnComp;
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25260630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档