我使用一个大的JTable,我想为每个类扩展CellRenderer,所以每一秒行都有一个灰色背景,以使它更易读。
每第二行的灰色背景应该如下所示:http://i61.tinypic.com/of3sky.png
但是我仍然想要每个类的默认对齐,以及isSelected和hasFocus的默认设置。
背景代码应该很简单,如下所示:
if(row % 2 == 0){
super.setBackground(new Color(200, 200, 200));
}
else{
super.setBackground(Color.WHITE);
}但是,如何为每个类获取默认的CellRenderer,并以这种方式扩展它呢?
提前谢谢你!
发布于 2014-08-12 09:58:15
来自JTable交替行背景
要使JTable以不同的颜色呈现每一行,只需扩展JTable的prepareRender方法即可。
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;
};https://stackoverflow.com/questions/25260630
复制相似问题