繁体   English   中英

Java Swing-JPanel的背景

[英]Java Swing - Background of a JPanel

我想设计一个JPanel ,它应该具有如下图所示的颜色编码:


(来源: compendiumblog.com

如何编码JPanel的颜色。 我认为是在主JPanel上添加5个JPanel (用于上面显示的5个块)。 将每个JPanel的background设置为light Gray

但是,如何获得如图所示的深色线。

有任何提示或建议吗?

尝试使用JTable,然后交替更改行的颜色。 这样,您可以编写通用JComponent(AlternatingColorTable)并像在这4个面板中的常规JTable一样使用它。

可能是这样的:

public class AlternatingColorTable extends JTable {

public AlternatingColorTable () {
    super();
}

public AlternatingColorTable(TableModel tableModel) {
    super(tableModel);
}

/** Extends the renderer to alternate row colors */
public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
    Component returnComp = super.prepareRenderer(renderer, row, col);

    Color alternateColor = Color.GRAY;
    Color mainColor = Color.DARK_GRAY;

    if (!returnComp.getBackground().equals(getSelectionBackground())) {
        Color background = (row % 2 == 0 ? alternateColor : mainColor );
        returnComp.setBackground(background);
        background = null;
    }
    return returnComp;
}

}

只需使每个彩色条自己的面板具有不同的背景色即可。 不要忘记使用setOpaque(true)使面板显式不透明-默认情况下,面板在大多数外观上都是透明的。

关于美学的注释; 我将从每个组的第一行以不同的阴影开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM