gpt4 book ai didi

java - JTable - 扩展默认的 CellRenderer

转载 作者:行者123 更新时间:2023-12-01 12:39:24 24 4
gpt4 key购买 nike

我使用一个大的 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,并以这种方式扩展它呢?

提前谢谢您!

最佳答案

来自JTable Alternate Row Background

To make a JTable render each row in a different color, you just have to extend the JTable's prepareRender method.

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;
};

关于java - JTable - 扩展默认的 CellRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25260630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com