我想设计一个JPanel
,它应该有颜色编码,如下图所示:
如何编码JPanel
的颜色。我认为在主JPanel上添加5 JPanel
s(上面显示的5个块)。将每个JPanel的background
设置为light Gray
。
但是如何才能实现如图所示的深色线。
任何提示或建议?
答案 0 :(得分:3)
尝试使用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;
}
}
答案 1 :(得分:0)
只需使用不同的背景颜色制作每个彩色条本身的面板。不要忘记使用setOpaque(true)使面板显式不透明 - 面板在大多数外观中默认是透明的。
关于美学的说明;我会从每组不同阴影的第一行开始。