[英]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.